key(a,b)
의 표 X와 key(a)
의 표 Y
이 있습니다. Spark에서 여러 API 함수를 검색했지만 두 표 모두에 대한 조인을 제공 할 수있는 항목을 찾을 수 없습니다. key(a)
.Spark 또는 Pyspark의 복잡한 내부 조인
는 두 개의 데이터 구조가
X.take(1) -> made of key(a,b)
[((u'"1"', u'"B8"'), (u'"1"', u'"B8"', array([[ 7.16677290e-01, 4.15236265e-01, 7.02316511e-02]])))]
Y.take(1) -> have key(a)
[(u'"5"', (u'"5"', array([[ 0.86596322, 0.29811589, 0.29083844, 0.51458565, 0.23767414]])))]
지금, 나는 a -> [a,b,array_1,array_2]
같은 구조 무언가를 원하는 (두 개의 서로 다른 키를 사용하여 두 개의 테이블로 생각)하게한다.
Cogroup은 key(a,b)
및 key(a)
의 카티 션 곱을 반환하므로 내 용도로 사용되지 않았습니다.
a -> [a,b,array_1,array_2]
:에
어떤 제안이나 힌트는 어떻게 같은 행이 데이터 구조를 얻을 수 있습니다.
키를 변경할 수는 있지만 그렇게하고 싶지는 않습니다. [a, b, [value1], value2]에 더 가깝지 않습니다. – ssvk3
예. 당신은'(a, (a, b, [value1], [value2]))'에'(a, Iterable ((b, [value]), 반복 가능 ([value])'를 매우 쉽게 맵핑 할 수 있습니다. – climbage