복붙노트

[HADOOP] 파일에서 직접 마루 테이블을로드 할 수 있습니까?

HADOOP

파일에서 직접 마루 테이블을로드 할 수 있습니까?

이진 데이터 파일 (csv 형식으로 변환 할 수 있음)이있는 경우 직접 마루 테이블을로드 할 수있는 방법이 있습니까? 많은 자습서에서는 csv 파일을 텍스트 테이블에로드 한 다음 텍스트 테이블에서 쪽 마루 테이블로로드하는 방법을 보여줍니다. 효율성 관점에서 볼 때, 이미 가지고있는 것과 같은 이진 파일에서 직접 마루 테이블을로드 할 수 있습니까? 이상적인 create external table 명령 사용. 또는 먼저 CSV 파일로 변환해야합니까? 파일 형식 제한이 있습니까?

해결법

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

    1.불행히도 임팔라에서는 맞춤 바이너리 형식을 읽을 수 없습니다. 파일을 CSV로 변환 한 다음 임시 테이블로 기존 CSV 파일을 통해 외부 테이블을 만들고 마지막으로 임시 csv 테이블에서 파킹 테이블에 삽입하십시오. Impala Parquet 문서에는 더 많은 정보와 몇 가지 관련 예제가 있습니다. 유사한 작은 파일 압축에 대한 절을 참조하십시오.

    불행히도 임팔라에서는 맞춤 바이너리 형식을 읽을 수 없습니다. 파일을 CSV로 변환 한 다음 임시 테이블로 기존 CSV 파일을 통해 외부 테이블을 만들고 마지막으로 임시 csv 테이블에서 파킹 테이블에 삽입하십시오. Impala Parquet 문서에는 더 많은 정보와 몇 가지 관련 예제가 있습니다. 유사한 작은 파일 압축에 대한 절을 참조하십시오.

    파일 형식을 csv로 변환하는 방법을 모르겠지만 바이너리 형식을 Parquet로 변환하는 프로그램을 작성하는 것이 좋습니다. 예를 들어, Parquet 파일을 작성하는 MapReduce 작업을 작성할 수 있습니다. 다음은 Parquet을 읽고 쓰는 예제입니다. https://github.com/cloudera/parquet-examples/blob/master/MapReduce/TestReadWriteParquet.java

  2. from https://stackoverflow.com/questions/28416731/is-it-possible-to-load-parquet-table-directly-from-file by cc-by-sa and MIT license