2017-11-26 20 views
1

spark에서 사용자 정의 파 티셔를 작성하려고하고 Java에서 작업 중입니다.Spark Java에서 사용자 정의 파티션

그러나 javaRDD 클래스 (또는 Dataset 클래스)에는 scala와 같은 partitionBy (Partitioner) 메소드가 없다는 것을 알았습니다. javaPairRDD만이 수행합니다. 이 방법없이 RDD 나 데이터 세트를 어떻게 분할해야합니까?

답변

1

어떻게이 방법없이 RDDs 또는 데이터 세트를 분할해야합니까?

당신은에없는 가정 :

  • DatasetsPartitioner의 공용 개념이 없습니다. 대신 repartition 파티션 번호와 Columns의 선택적 목록을 사용하는 방법을 사용하십시오. 파티션 방법 자체는 구성 할 수 없습니다 (Murmur Hash와 함께 해시 파티셔닝을 사용하고 있습니다). "PairRDDs"(자바, 스칼라 RDD[(_, _)]에서 JavaPairRDD) 이외의

  • RDDs

    는 전혀 다시 파티션 할 수 없습니다. RDD을 다시 파티션하려면 먼저 PairRDD으로 변환해야합니다. 좋은 선택이 없다면 null을 값으로 사용하고 레코드를 키로 사용할 수 있습니다.

+0

따라서 partitionBy를 사용하는 이러한 온라인 예제는 모두 동등한 PairRDD 스칼라 클래스 용입니까? 감사! 유형이 명시 적으로 스칼라로 명시되지 않았으므로 나에게 분명하지 않습니다. – user3161227