IT박스

Hive : 테이블의 모든 파티션을 표시하는 방법은 무엇입니까?

itboxs 2020. 12. 25. 09:07
반응형

Hive : 테이블의 모든 파티션을 표시하는 방법은 무엇입니까?


1000 개 이상의 파티션이있는 테이블이 있습니다.

" Show partitions"명령은 적은 수의 파티션 만 나열합니다.

모든 파티션을 어떻게 표시 할 수 있습니까?

최신 정보:

  1. " show partitions"명령은 정확히 500 개의 파티션 만 나열합니다.

  2. " select ... where ..."는 500 개의 파티션 만 처리합니다!


출력이 표시 될 때 CLI에 약간의 제한이 있습니다. 출력을 로컬 파일로 내보내는 것이 좋습니다.

$hive -e 'show partitions table;' > partitions

하이브> 파티션 표시 table_name;


Hive MetaStore 테이블, "PARTITIONS"테이블에서 파티션 정보를 볼 수 있습니다. "TBLS"조인 "Partition"을 사용하여 특수 테이블 파티션을 쿼리 할 수 ​​있습니다.


좋아, 나는 wmky의 답변을 위와 확장 하여이 답변을 작성하고 있으며, 더비 대신 메타 스토어에 대해 mysql을 구성했다고 가정합니다.

select PART_NAME FROM PARTITIONS WHERE TBL_ID=(SELECT TBL_ID FROM TBLS WHERE TBL_NAME='<table_name>');

위의 쿼리는 파티션 열의 가능한 모든 값을 제공합니다.

예:

hive> desc clicks_fact;
OK
time                    timestamp                                   
..                              
day                     date                                        
file_date               varchar(8)                                  

# Partition Information      
# col_name              data_type               comment             

day                     date                                        
file_date               varchar(8)                                  
Time taken: 1.075 seconds, Fetched: 28 row(s)

파티션 열의 값을 가져 오겠습니다.

mysql> select PART_NAME FROM PARTITIONS WHERE TBL_ID=(SELECT TBL_ID FROM TBLS WHERE TBL_NAME='clicks_fact');
+-----------------------------------+
| PART_NAME                         |
+-----------------------------------+
| day=2016-08-16/file_date=20160816 |
| day=2016-08-17/file_date=20160816 |
....
....
| day=2017-09-09/file_date=20170909 |
| day=2017-09-08/file_date=20170909 |
| day=2017-09-09/file_date=20170910 |
| day=2017-09-10/file_date=20170910 |
+-----------------------------------+

1216 rows in set (0.00 sec)

모든 파티션 열을 반환합니다.

참고 : 관련된 DB가있을 때 JOIN테이블 DBSON DB_ID(즉, 여러 DB에 동일한 table_name이있는 경우)

참조 URL : https://stackoverflow.com/questions/15616290/hive-how-to-show-all-partitions-of-a-table

반응형