1
まあ、私は4列、ID、ユーザ、データ(文字列)と日付を持つtsvファイルを持っています。私がしたいのは、ユーザー、データ、日付を最短のデータから取得することです。だから私はこれを試みます。それとSparkとJava 8でいくつかのカラムを取得してフィルタリングします
JavaSparkContext sparkContext = new JavaSparkContext(sparkConf);
JavaRDD<String> lines = sparkContext
.textFile(args[0]);
JavaRDD<String> messages = lines
.map(line -> line.split("\t+")[2]);
JavaPairRDD<String, Integer> ones = messages
.mapToPair(string -> new Tuple2<>(string,string.length()));
JavaPairRDD<Integer, String> reverse = ones
.mapToPair(tuple -> new Tuple2<>(tuple._2, tuple._1));
JavaPairRDD<Integer, String> sorted = reverse
.sortByKey(true)
.cache();
List<Tuple2<Integer, String>> output = sorted
.take(1);
、私は最短データと彼の長さが、今、私は、ユーザーと日付にこれを関連付けることができる方法を持っています?私はそれをする方法を知らない...任意のアイデア?