[HADOOP] 하이브 테이블에서 열 이름 가져 오기
HADOOP하이브 테이블에서 열 이름 가져 오기
하이브에서 다음 트릭을 통해 테이블에서 열 이름을 얻을 수 있다는 것을 알고 있습니다.
hive> set hive.cli.print.header=true;
hive> select * from tablename;
테이블에서 열 이름을 가져올 수도 있습니까?
나는 한 번만 필요로하는 것에 대한 설정을 변경해야하는 것을 싫어합니다.
내 현재 솔루션은 다음과 같습니다.
hive> set hive.cli.print.header=true;
hive> select * from tablename;
hive> set hive.cli.print.header=false;
이것은 너무 길고 DRY 원칙에 위배됩니다.
해결법
-
==============================
1.단순히 열 이름을보고 싶다면이 한 행은 설정을 변경하지 않고 제공해야합니다.
단순히 열 이름을보고 싶다면이 한 행은 설정을 변경하지 않고 제공해야합니다.
describe database.tablename;
그러나이 버전이 하이브 버전에서 작동하지 않으면이 코드가 제공하지만 기본 데이터베이스는 현재 사용중인 데이터베이스가됩니다.
use database; describe tablename;
-
==============================
2.$ table에 열을 표시하거나 Hive를 볼 수도 있습니다. 하이브 메타 데이터에 액세스하기 위해 모든 데이터베이스의 테이블 열을 검색하려면 어떻게해야합니까?
$ table에 열을 표시하거나 Hive를 볼 수도 있습니다. 하이브 메타 데이터에 액세스하기 위해 모든 데이터베이스의 테이블 열을 검색하려면 어떻게해야합니까?
-
==============================
3.Hive CLI 또는 beeline에서 desc tablename을 사용하여 모든 열 이름을 가져옵니다. 파일의 열 이름을 원하면 쉘에서 아래 명령을 실행하십시오.
Hive CLI 또는 beeline에서 desc tablename을 사용하여 모든 열 이름을 가져옵니다. 파일의 열 이름을 원하면 쉘에서 아래 명령을 실행하십시오.
$ hive -e 'desc dbname.tablename;' > ~/columnnames.txt
여기서 dbname은 테이블이 상주하는 하이브 데이터베이스의 이름입니다. 루트 디렉토리에서 columnnames.txt 파일을 찾을 수 있습니다.
$cd ~ $ls
from https://stackoverflow.com/questions/26181454/just-get-column-names-from-hive-table by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop 릴리스 누락 / conf 디렉토리 (0) | 2019.06.16 |
---|---|
[HADOOP] 아마존 s3n URL의 일부로 AWS 액세스 키 ID 및 비밀 키를 지정하는 방법 (0) | 2019.06.16 |
[HADOOP] 인터셉터를 사용하여 Flume에서 로그 파일 필터링하기 (0) | 2019.06.16 |
[HADOOP] hadoop (또는 dfs 명령)을 실행할 때 더 이상 사용되지 않는 오류가 계속 나타나는 이유는 무엇입니까? (0) | 2019.06.16 |
[HADOOP] 각 Hadoop 매퍼가 읽을 기본 크기는 얼마입니까? (0) | 2019.06.16 |