如何将 Object[] 转换为 Row[]?
How to cast Object[] to Row[]?
我将文件中的 JSON 数据读入 Dataset
如下(Spark 2.2.2,Java):
Dataset<Row> df = spark.read().json(filePath).as(Encoders.bean(Row.class));
我想将行收集到驱动程序中。
Row[] rows = df.collect();
函数collect()
returnsObject[]
。我如何转换为 Row[]
?
您可以使用 DataSet.collectAsList()
方法获得一个 List
,您可以将其转换为类型化数组。然而,这将导致为列表分配额外的内存:
List<Row> list = df.collectAsList();
Row[] arr = list.toArray(new Row[0]);
我将文件中的 JSON 数据读入 Dataset
如下(Spark 2.2.2,Java):
Dataset<Row> df = spark.read().json(filePath).as(Encoders.bean(Row.class));
我想将行收集到驱动程序中。
Row[] rows = df.collect();
函数collect()
returnsObject[]
。我如何转换为 Row[]
?
您可以使用 DataSet.collectAsList()
方法获得一个 List
,您可以将其转换为类型化数组。然而,这将导致为列表分配额外的内存:
List<Row> list = df.collectAsList();
Row[] arr = list.toArray(new Row[0]);