gpt4 book ai didi

java - javardd中如何通过header进行过滤?

转载 作者:行者123 更新时间:2023-12-02 02:48:42 26 4
gpt4 key购买 nike

我正在编写一个 JavaRDD 代码,我必须将 csv 上传到名为 RestaurantDetailRDDJavaRDD 中。 RestaurantDetailRDD 有一个地址列,必须将其过滤到另一个名为 addressRDDRDD 中。我只需要过滤条件,可以通过 csv 中提供的标题拆分地址列。

// provide path to input text file
String path = "/home/lingesh/Downloads/newitems.csv";

// read text file to RDD
JavaRDD<String> restaurantDetailRDD = sc.textFile(path);

// collect RDD for printing
for(String line:restaurantDetailRDD.collect()){
System.out.println(line);
}

如您所见,我刚刚创建了 RestaurantDetailRDD

我希望地址列放置在不同的RDD

最佳答案

如果您知道address列的位置,则只需执行map函数即可将RDD转换为另一个RDD。

JavaRDD<String> columnRdd = rdd.map(f -> {

String[] arr = f.split(",");
return arr[position];
});

System.out.println("new count " + columnRdd.count());

这种方式更好,因为您使用的是 Spark 函数,这意味着您可以处理 Spark 分区并使计算速度更快。在您确实需要打印结果进行测试之前,不要尝试使用基本的 java 函数。

关于java - javardd中如何通过header进行过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57125232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com