にブロードキャストとしてデータセットを適用します。ここでは、私は2つのデータセットを持っている、と私はブロードキャストとして1セット(1より小さい)を登録する必要が登録しようとしたとき、私は、ブロードキャスト機能を使用するanable午前スパーク
はコードです:
ここJavaRDD<String> maps = ctx.textFile("C:\\Users\\sateesh\\Desktop\\country.txt");
Broadcast<JavaRDD<String>> broadcastVar = ctx.broadcast(maps);
//Broadcast<Map<Integer, String>> broadcastVar = ctx.broadcast(map);
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(9);
JavaRDD<Integer> listrdd = ctx.parallelize(list);
JavaRDD<Object> mapr = listrdd.map(x -> broadcastVar.value());
System.out.println(mapr.collect());
私はbroadcastVar.value().get(x)
を取得することはできませんよ。ブロードキャストとしてマニュアルマップを登録すると、そのマップはうまく動作しますが、テキストファイルの場合は動作しません。
'Broadcast> broadcastVar = ctx.broadcast(maps.collect());'? –
mrsrinivas
ありがとうございました。 – user4342532