복붙노트

[HADOOP] Hive 쿼리에 대해 빈 .deflate 파일을 생성하지 않으려면 어떻게해야합니까?

HADOOP

Hive 쿼리에 대해 빈 .deflate 파일을 생성하지 않으려면 어떻게해야합니까?

Hive 쿼리를 실행하면 많은 수의 빈 .deflate 파일이 생성됩니다 (실제로 약 8 바이트이며 .deflate 파일의 최소 크기라고 생각합니다). 쿼리에 많은 감속기가 필요하기 때문에 이런 일이 발생하는 것 같습니다. 이 빈 .deflate 파일을 생성하지 않는 방법이 있는지 궁금합니다.

미리 감사드립니다.

해결법

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

    1..deflate는 기본 압축 코덱입니다.

    .deflate는 기본 압축 코덱입니다.

    Hive가 쿼리에 사용하는 디스크 공간을 줄이는 데 사용할 수있는 Hive 압축 설정이 있습니다.

    속성 hive.exec.compress.output = true 인 경우 Hive는 mapred.map.output.compression.codec 속성으로 구성된 코덱을 사용하여 HDFS에서 저장소를 압축합니다. 이러한 속성은 hive.site.xml 또는 Hive-CLI에서 설정할 수 있습니다.

    Hive-CLI에서 출력 압축을 사용하려면 다음을 수행하십시오.

    하이브> 설정 hive.exec.compress.output = true;

    hive.site.xml을 사용하여 출력 압축을 활성화하려면

    <property>
     <name>hive.exec.compress.output</name>
     <value>true</value>
    </property>
    

    따라서 .deflate 파일을 비활성화하려면

    hive.exec.compress.output = false를 설정하십시오.

  2. from https://stackoverflow.com/questions/32639554/how-to-avoid-generating-empty-deflate-files-for-a-hive-query by cc-by-sa and MIT license