2016-08-19 6 views
2

私はunixスクリプトを開発しています。ここでは、A列またはB列のいずれかでパーティション化されたHiveテーブルを扱います。どの列私はそれらのパーティションインスタンスで後続の操作を行うことができるようにパーティションです。Hiveテーブルのパーティション列名を取得する方法

Hiveにパーティション列を直接返すプロパティがありますか?

私はshow create tableを実行し、可能な方法が他にない場合はどうにかしてパーティション名を抽出する必要があると考えています。

答えて

1

は最高ではないかもしれないが、もう一つのアプローチはコマンド

テーブルを作成します説明を使用することです:

create table employee (id int, name string) PARTITIONED BY (city string); 

コマンド:

hive -e 'describe formatted employee' | awk '/Partition/ {p=1}; p; /Detailed/ {p=0}' 

出力:

# Partition Information 
# col_name    data_type    comment 

city     string 

必要に応じて改善することができます。

私が探しているもう1つのオプションは、メタストアリポジトリテーブルをクエリしてテーブルのパーティション列情報を取得することです。

関連する問題