우당탕 개발일지

[Trino/Hive] Partition 검색 본문

기술/Trino, Hive

[Trino/Hive] Partition 검색

럽모네 2024. 2. 10. 00:48

 

Hive 에서 Trino 로 전환작업을 하면 의외로 사용하는 function 이 달라지는 이슈때문에 생각보다 작업을 하면서 Trino 공부를 하게 되었습니다. 그 중에서도 가장 삽질을 많이 한게 의외의 partition 조회라 내용을 정리했습니다.

 

원래 Hive 의 경우에는 SHOW PARTITIONS 명령어로 간단하게 조회하고자 하는 테이블의 파티션 정보를 조회할 수 있었습니다.

SHOW PARTITIONS 테이블명 PARTITION (파티션 컬럼 = 조회 조건 , ...)

ex)
SHOW PARTITIONS test_table PARTITION (date_id = '2024-02-01', hour_id = '00')

 

아쉽게도 trino 에서 해당 command 가 삭제되었고 이를 대체할 명령어를 찾던 중 select 절을 사용하여 카탈로그명, 테이블명을 명시해서 partition 을 찾을 수 있다는 것을 알게 되었습니다.

사용할 때 반드시 찾고자 하는 테이블 명을 쌍따옴표를 이용하여 $partitions 를 붙여줘야 합니다.

그 앞의 조회하고자 하는 테이블의 카탈로그 명은 쌍따옴표를 붙이지 않습니다.

카탈로그 명."테이블명$partitions"

ex)
select * from test_catalog."test_table$partitions"

 

 

처음엔 쉽게 찾아지지 않아서 처음에는 ANALYZE command 를 이용해서 partition 을 찾으려고 했으나,

찾고자 한 의도는 파티션 데이터의 유무였기 때문에 ANALYZE command 와 용도가 다름으로 위와 같이 사용했습니다.

 

참고 Url : 

https://prestodb.io/docs/current/release/release-0.202.html

https://trino.io/docs/current/sql/analyze.html?highlight=partitions

https://trino.io/docs/current/connector/hive.html?highlight=partitions#partitions-table