복붙노트

[HADOOP] dataFrameWriter partition으로 데이터를 섞습니까?

HADOOP

dataFrameWriter partition으로 데이터를 섞습니까?

한 가지 방식으로 데이터를 분할했으며 다른 데이터로 분할하고 싶습니다. 따라서 기본적으로 다음과 같습니다.

sqlContext.read().parquet("...").write().partitionBy("...").parquet("...")

이 컨텍스트에서 파티션은 HDFS의 디렉토리를 의미하고 동일한 파티션의 데이터는 동일한 노드에 있어야 할 필요가 없기 때문에 이것이 셔플을 유발하거나 모든 데이터가 로컬로 다시 파티션 될 것인지 궁금합니다. HDFS의 동일한 디렉토리.

해결법

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

    1.parititionBy와 bucketBy는 데이터를 섞지 않습니다. 데이터를 먼저 다시 분할하는 것이 좋은 생각 일 수 있습니다.

    parititionBy와 bucketBy는 데이터를 섞지 않습니다. 데이터를 먼저 다시 분할하는 것이 좋은 생각 일 수 있습니다.

    df.repartition(...).write.partitionBy(...)
    

    그렇지 않으면 출력 파일 수는 파티션 수 * 파티션 열의 카디널리티에 의해 제한됩니다.

  2. from https://stackoverflow.com/questions/39805645/does-dataframewriter-partitionby-shuffle-the-data by cc-by-sa and MIT license