아시다시피 MyBatis는 매우 좋습니다. jdbc 결과를 오브젝트에 맵핑 할 수 있습니다. spark sql 쿼리 결과의 경우 스파크 쿼리 결과를 개체에 매핑하는 좋은 방법이 있습니까? 감사합니다스파크 SQL 쿼리 결과를 개체에 매핑하는 방법은 무엇입니까?
0
A
답변
0
내가 아는 한, Spark SQL 쿼리에서받은 결과는 SchemaRDD입니다. SchemaRDD는 표준 RDD에서 부여한 모든 작업을 실행할 수있는 엔터티입니다. 귀하의 질문으로 돌아가서 질의 결과를 클래스 (결과적으로 객체)에 매핑하는 유일한 방법은 고전적인 맵 작업을 사용하여 수동으로 SchemaRDD의 반환 된 행에 저장된 정보를 조작하는 것입니다.
0
여기서 테이블을 쿼리하고 클래스 YourClass
의 개체로 변환하여 JavaRDD
으로 만든 다음 파일에 쓰는 방법입니다. 파일의 각 줄은 YourClass.toString()
DataFrame sqlQuery = sqlContext.sql("SELECT a,b,c FROM table");
JavaRDD<Triple> resultRows = sqlQuery.javaRDD().map(
new Function<Row, YourClass>() {
public YourClass call(Row row) {
YourClass t = new YourClass(row.getString(0), row.getString(1), row.getString(2));
return t;
}
});
resultRows.saveAsTextFile(outputFolderPath);