假设在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]));
从上面的代码中,我只能获取一列数据。有没有得到两列。任何建议。提前谢谢。
2条答案
按热度按时间f1tvaqid1#
数据:
使用spark 2创建df
使用Dataframe函数
输出:
使用rdd函数
输出:
e0bqpujr2#
你可以用任何一个
top
或者takeOrdered
实现它的功能。