[HADOOP] Hive의 모든 테이블에서 특정 열 이름을 어떻게 찾을 수 있습니까?
HADOOPHive의 모든 테이블에서 특정 열 이름을 어떻게 찾을 수 있습니까?
Hive의 모든 테이블에서 특정 열 이름을 어떻게 찾을 수 있습니까?
이 쿼리를 하이브로 실행했습니다. retail.columns에서 select table_name, column_name 여기서 column_name은 '% emp %'; (소매는 데이터베이스입니다).
그러나 그것은주고있다 :
쿼리를 시도했습니다 : column_name = 'emp'(기본값은 광산 데이터베이스)입니다 .default.columns에서 distinct table_name을 선택하십시오. 그러나 오류가 발생합니다.
이것에 대해 검색했는데 SQL 데이터베이스에 대한 쿼리를 작성했습니다.
그러나 하이브 데이터베이스에서 검색하고 싶습니까? 하이브를 얻는 방법?
동일한 질문이 전에 요청되었지만 상황이 변경되었을 수 있으며 직접적인 해결책이 있다고 생각합니다.
주어진 열 이름을 가진 모든 테이블을 어떻게 검색하고 Hadoop / Hive에서이 열 이름을 가진 테이블을 반환 할 수 있습니까?
Hive에서 테이블 및 열 검색
해결법
-
==============================
1.아래 셸 스크립트는 원하는 결과를 제공합니다.
아래 셸 스크립트는 원하는 결과를 제공합니다.
hive -S -e 'show databases'| while read database do eval "hive -S -e 'show tables in $database'"| while read line do if eval "hive -S -e 'describe $database.$line'"| grep -q "<column_name"; then output="Required table name: $database.$line"'\n'; else output=""'\n'; fi echo -e "$output" done done
-
==============================
2.메타 스토어에서 사용할 수있는 쿼리는 다음과 같습니다.
메타 스토어에서 사용할 수있는 쿼리는 다음과 같습니다.
TBLS에서 TBL_NAME, COLUMN_NAME, TYPE_NAME을 (를) 선택하십시오. CD_ID = TBL_ID에서 COLUMNS_V2의 왼쪽 조인은 COLUMN_NAME입니다 ( '열').
여기서 'column'은 찾고있는 열 이름입니다.
from https://stackoverflow.com/questions/48321736/how-can-i-find-a-particular-column-name-within-all-tables-in-hive by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] YARN에서 시작하는 H2O가 작동하지 않습니다 (0) | 2019.09.14 |
---|---|
[HADOOP] hadoop 클러스터 / HDFS에 의해 인식 되려면 사용자가 모든 노드에 존재해야합니까? (0) | 2019.09.14 |
[HADOOP] CDH에서 스파크 코어의 의존성 제외 (0) | 2019.09.14 |
[HADOOP] HDFS를 지운 후에도 여전히 사용 된 블록 풀을 표시하는 일부 데이터 노드 (0) | 2019.09.14 |
[HADOOP] Spark에서 RDD의 복제 팩터를 변경하는 방법이 있습니까? (0) | 2019.09.14 |