복붙노트

[HADOOP] hdfs의 하이브 테이블을 csv로 내보내기

HADOOP

hdfs의 하이브 테이블을 csv로 내보내기

하이브의 csv (또는 다른 텍스트 파일)에 테이블을 저장할 때 구분 기호와 관련된 알려진 문제가 있음을 알고 있습니다. 그래서 너희들이 나를 도울 수 있는지 궁금해.

나는 기존의 테이블 (테이블 A)을 가지고 있으며 hsfs에 csv 형식으로 저장하고 싶습니다. 다른 응답을 읽으면서 나는 외부 테이블을 먼저 만들어야한다고 생각합니다. (그러나 모든 것이 어떻게 보일지는 확실하지 않습니다.)

누구든지 도와 줄 수 있습니까?

해결법

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

    1.하이브 셸에서 다음을 시도해보십시오.

    하이브 셸에서 다음을 시도해보십시오.

    INSERT OVERWRITE LOCAL DIRECTORY '/path/to/hive/csv' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' SELECT * FROM hivetablename;
    

    / path / to / csv를 csv 파일을 저장할 위치로 변경하십시오. hivetablename을 csv 형식으로 저장하기 위해 하이브 테이블에 추가하십시오.

  2. ==============================

    2.이 3 단계 프로세스는 저에게 잘 돌아 왔습니다.

    이 3 단계 프로세스는 저에게 잘 돌아 왔습니다.

    HIVE에서 SHOW CREATE TABLE temp_table 명령을 실행하면 HDFS에서 테이블의 정확한 위치를 알려줍니다.

    | LOCATION                                                        |
    |   'hdfs://hadoop_cluster/apps/hive/warehouse/temp_table'        |
    
  3. ==============================

    3.하이브에있는 외부 테이블의 경우 다음 단계를 수행 할 수 있습니다.

    하이브에있는 외부 테이블의 경우 다음 단계를 수행 할 수 있습니다.

    2. 로컬에서 HDFS 위치로 데이터 파일로드

    hadoop fs -put /home/user1/Desktop/filename.csv /user/hive/external/mytable/
    

    위의 두 단계로 문제를 해결할 수 있습니다.

  4. from https://stackoverflow.com/questions/30224875/exporting-hive-table-to-csv-in-hdfs by cc-by-sa and MIT license