在java中创建一个带有一列递增值的spark数据集

bn31dyow  于 2021-05-22  发布在  Spark
关注(0)|答案(1)|浏览(521)

java和spark新手在此寻求帮助:
有没有一种方法可以创建一个数据集,其中一列包含从1到n的递增值?

Dataset<Row> ds = ss.createDataSet("column-name", 1, 1000);

上述方法有点粗糙,因为没有 createDataSet 但我正在寻找一些沿着这些线,可以懒洋洋地创造的内容 ds .

qni6mghb

qni6mghb1#

假设您使用的是Java8+

int n = 1000;
List<Integer> intList = IntStream.range(1, n+1).boxed().collect(Collectors.toList());
Encoder<Integer> integerEncoder = Encoders.INT();
Dataset<Integer> primitiveDS = spark.createDataset(intList, integerEncoder);

还要记住,当您尝试在spark中创建数据集时,您需要创建/传递一个自生成的数据列表,该列表完全在spark中生成 driver .

相关问题