0

据我所知,MyBatis 非常好。它可以将 jdbc 结果映射到对象。对于 spark sql 查询结果,有没有什么好方法可以将 spark 查询结果映射到对象?谢谢

4

2 回答 2

0

据我所知,从 Spark SQL 查询接收到的结果是一个 SchemaRDD,一个实体,您可以在该实体上执行标准 RDD 上授予的所有操作。回到您的问题,目前,将查询结果映射到类(以及因此,对象)的唯一方法是手动使用经典的映射操作来操作存储在 SchemaRDD 中返回的行中的信息。

于 2015-02-04T16:22:58.453 回答
0

在这里,您将如何查询表,将其转换为您的类的对象YourClassJavaRDD然后将其写入文件。文件中的每一行都将由 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);
于 2015-10-02T17:14:23.037 回答