복붙노트

[HADOOP] Hive - 열 이름 가져 오기

HADOOP

Hive - 열 이름 가져 오기

테이블에서 열 이름을 검색하여 하이브의 다른 테이블이나 텍스트 파일로로드 할 수 있습니까? 우리가이 일을 할 수 있다면 나에게 알려줘.

해결법

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

    1.이것을 허용하는 OOTB 기능은 없습니다. 그러나 awk로 DESCRIBE를 사용하면 다음과 같이 할 수 있습니다.

    이것을 허용하는 OOTB 기능은 없습니다. 그러나 awk로 DESCRIBE를 사용하면 다음과 같이 할 수 있습니다.

    bin/hive -S -e "use default; describe demo;" | awk -F" " '{print $1}' > ~/filename.txt
    

    기본 및 데모를 작동하려는 데이터베이스 및 테이블로 바꿉니다.

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

    2.조금 더 간결한 버전

    조금 더 간결한 버전

    hive -S -e "SHOW COLUMNS IN database_name.table_name" > column_names.txt
    
  3. ==============================

    3.또 다른 해결책은 hive.cli.print.headers = true를 사용하는 것입니다.

    또 다른 해결책은 hive.cli.print.headers = true를 사용하는 것입니다.

    이것은 쉼표로 구분 된 헤더를 가져 오기 위해 사용하는 것입니다. 데이터베이스 및 테이블을 적절하게 교체하십시오.

    hive -S -e 'SET hive.cli.print.header=true; SELECT * FROM database.table LIMIT 0' | sed -e 's/\t/,/g' > headers.txt
    
  4. from https://stackoverflow.com/questions/19038624/hive-get-column-names by cc-by-sa and MIT license