У меня есть два набора данных, и мне нужно зарегистрировать один набор данных (меньший) в качестве широковещательной передачи при попытке регистрации. Я могу использовать функции вещания.Применить набор данных как широковещательную рассылку в Spark
Вот код:
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)
. Если iregister какую-либо ручную карту, как широко транслирует ее работы, но в случае текстовых файлов она не работает.
'Broadcast> broadcastVar = ctx.broadcast (mapss.collect());'? –
mrsrinivas
Спасибо, работая сейчас. – user4342532