2017-12-26 26 views
0

두 개의 데이터 프레임에 수백 (수천만에서 수백만) 개의 행이 있습니다. 나는 그들 사이에 조인을하고 싶습니다.PySpark의 파티션 내에서 데이터 프레임에 합류합니다.

현재 사용하고있는 BI 시스템에서 특정 키를 먼저 분할 한 다음 해당 키를 조인하여이 작업을 빠르게 수행 할 수 있습니다.

이 패턴은 내가 스파크에서 따라야 할 패턴입니까, 그렇지 않습니까? 언뜻보기에는 미리 파티션 된 것이 아니기 때문에 많은 시간이 파티션간에 데이터를 섞어 낭비하는 것처럼 보입니다.

필요한 경우 어떻게해야합니까?

답변

1

만약 그렇다면 어떻게해야합니까?

How to define partitioning of DataFrame?

는 의미가 있습니다 그러나

두 아래 조건 :

  • 여러 동일한 응용 프로그램을 withing에이 합류했다. 파티셔닝은 스스로 중단되므로 단일 참여 인 경우 추가 된 값이 없습니다.
  • 셔플 링 된 데이터를 다시 사용할 수있는 응용 프로그램입니다. Spark은 외부 형식으로 저장된 데이터의 분할을 이용할 수 없습니다.