0
Java RDD API를 사용하여 spark 브로드 캐스트 변수를 처리해야합니다. 이것은 지금까지 시도한 코드입니다.Spark java의 브로드 캐스트 변수
이것은 작동 여부를 확인하는 샘플 코드 일 뿐입니 까? 제 경우에는 두 개의 파일로 작업해야합니다.
SparkConf conf = new SparkConf().setAppName("BroadcastVariable").setMaster("local");
JavaSparkContext ctx = new JavaSparkContext(conf);
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1, "aa");
map.put(2, "bb");
map.put(9, "ccc");
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());
과이 같은 출력 인쇄 :
[{1=aa, 2=bb, 9=ccc}, {1=aa, 2=bb, 9=ccc}, {1=aa, 2=bb, 9=ccc}]
를 내 요구 사항은 다음과 같습니다
[{aa, bb, ccc}]
내 필요한 방법과 같이 할 수 있습니까?