假设我在 CSV 文件中有一个包含两列 A 和 B 的表格。我从 A 列 [Max value = 100] 中选择最大值,我需要使用 JavaRDD 操作返回 B 列的相应值 [Return Value = AliExpress],而不使用 DataFrames。
输入表:
COLUMN A Column B
56 Walmart
72 Flipkart
96 Amazon
100 AliExpress
输出表:
COLUMN A Column B
100 AliExpress
这是我到现在为止尝试过的
源代码:
SparkConf conf = new SparkConf().setAppName("SparkCSVReader").setMaster("local");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<String> diskfile = sc.textFile("/Users/apple/Downloads/Crash_Data_1.csv");
JavaRDD<String> date = diskfile.flatMap(f -> Arrays.asList(f.split(",")[1]));
从上面的代码我只能获取一列数据。反正有两列。有什么建议么。提前致谢。
最佳答案
您可以使用 top
或 takeOrdered
函数来实现它。
rdd.top(1) //gives you top element in your RDD
关于hadoop - Spark RDD 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41141574/