복붙노트

[HADOOP] 스파크 조인에서 테이블 주문은 돼지처럼 중요합니까?

HADOOP

스파크 조인에서 테이블 주문은 돼지처럼 중요합니까?

Spark와 관련됨 - 2 개의 PairRDD 요소 조인

돼지에서 정규 결합을 수행하는 경우 조인의 마지막 테이블은 메모리로 가져 오지 않고 대신 스트림되므로 A에 키와 B의 다중 카디널리티가 작은 경우 A 조인보다 B 조 조인을 수행하는 것이 훨씬 좋습니다 B로, 성능 관점 (유출 및 OOM 방지)

유사한 개념이 스파크에 있습니까? 나는 그런 추천을 보지 못했고 어떻게 가능할 지 궁금합니다. 구현은 돼지와 거의 비슷하게 보입니다. https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/CoGroupedRDD.scala

또는 나는 무엇인가 놓치고 있냐?

해결법

  1. ==============================

    1.그것은 차이를 만들지 않는다. RDD가 캐쉬 된 경우에만 메모리로 가져올 것이다. 따라서 동일한 효과를 얻으려면 작은 RDD를 캐시 할 수 있습니다. 내가 돼지가 할 수 있는지 확실하지 않은 스파크에서 할 수있는 또 다른 일은, 모든 RDD가 합류하는 파티션이 같은 파티셔를 가지고 있다면 셔플을 수행 할 필요가 없다는 것입니다.

    그것은 차이를 만들지 않는다. RDD가 캐쉬 된 경우에만 메모리로 가져올 것이다. 따라서 동일한 효과를 얻으려면 작은 RDD를 캐시 할 수 있습니다. 내가 돼지가 할 수 있는지 확실하지 않은 스파크에서 할 수있는 또 다른 일은, 모든 RDD가 합류하는 파티션이 같은 파티셔를 가지고 있다면 셔플을 수행 할 필요가 없다는 것입니다.

  2. from https://stackoverflow.com/questions/28694523/in-spark-join-does-table-order-matter-like-in-pig by cc-by-sa and MIT license