[HADOOP] 스파크 - 2 개 PairRDD 요소를 결합
HADOOP스파크 - 2 개 PairRDD 요소를 결합
안녕하세요이 개 요소가 JavaRDDPair 있습니다 :
("TypeA", List<jsonTypeA>),
("TypeB", List<jsonTypeB>)
나는 형의 1 쌍에 2 쌍을 결합해야합니다 :
("TypeA_B", List<jsonCombinedAPlusB>)
나는 각 2 jsons (A 형 1과 B 형의 1) 나는에 가입 할 수 있습니다 몇 가지 일반적인 필드가 1 개 목록에이 목록을 결합해야합니다.
타입 A의리스트가 다른 것보다 상당히 작다 고려하고, 그 결과리스트 형식의리스트 A.만큼 작아야하므로 조인은 내부되어야
이를위한 가장 효율적인 방법은 무엇입니까?
해결법
-
==============================
1.rdd.join (otherRdd)는 내부 처음 RDD에 가입합니다. 그것을 사용하려면, 당신은 당신이에 가입됩니다 키를 공통 속성으로 가진 PairRDD에 모두 RDDs 변환해야합니다. 이런 식으로 뭔가 (예, 검증되지 않은) :
rdd.join (otherRdd)는 내부 처음 RDD에 가입합니다. 그것을 사용하려면, 당신은 당신이에 가입됩니다 키를 공통 속성으로 가진 PairRDD에 모두 RDDs 변환해야합니다. 이런 식으로 뭔가 (예, 검증되지 않은) :
val rddAKeyed = rddA.keyBy{case (k,v) => key(v)} val rddBKeyed = rddB.keyBy{case (k,v) => key(v)} val joined = rddAKeyed.join(rddBKeyed).map{case (k,(json1,json2)) => (newK, merge(json1,json2))}
어디 병합 (J1, J2)는이 JSON 객체를 결합하는 방법에 특정 비즈니스 로직이다.
from https://stackoverflow.com/questions/26992856/spark-joining-2-pairrdd-elements by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 왜 RunJar는 jar 파일을 압축 해제합니까? (0) | 2019.10.05 |
---|---|
[HADOOP] HBase를가 Pyspark를 사용하여 상호 작용하는 최선의 방법은 무엇입니까 (0) | 2019.10.05 |
[HADOOP] 내 간단한 스파크 응용 프로그램이 너무 느리게 작동합니다 이유는 무엇입니까? (0) | 2019.10.05 |
[HADOOP] 스크립트를 실행하는 동안 하이브에 오류가 (0) | 2019.10.05 |
[HADOOP] 구축을위한 외부 의존성 통과 수계 미스트를 스파크를 제출 (0) | 2019.10.05 |