开发者社区> 问答> 正文

如何将Object [转换为Row ]?

我从文件中读取JSON数据Dataset如下(Spark 2.2.2,Java):

Dataset df = spark.read().json(filePath).as(Encoders.bean(Row.class));
我想将行收集到驱动程序中。

Row[] rows = df.collect();
该函数collect()返回Object[]。我该如何施展Row[]?

展开
收起
社区小助手 2018-12-05 14:04:20 2751 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    您可以使用DataSet.collectAsList()方法来获取List可以转换为类型化数组的方法。但是,这将导致列表的额外内存分配:

    List list = df.collectAsList();
    Row[] arr = list.toArray(new Row[0]);

    2019-07-17 23:18:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载