我将文件中的JSON数据读取到Dataset
中,如下所示(Spark 2.2.2,Java):
Dataset<Row> df = spark.read().json(filePath).as(Encoders.bean(Row.class));
我想将行收集到驱动程序中。
Row[] rows = df.collect();
函数collect()
返回Object[]
。我该如何投射到Row[]
?
答案 0 :(得分:1)
您可以使用DataSet.collectAsList()
方法来获取List
,并将其转换为类型数组。但是,这将导致为列表分配更多的内存:
List<Row> list = df.collectAsList();
Row[] arr = list.toArray(new Row[0]);