2013-10-24 4 views
10

私は後でパーティションについては、この場所を照会するにはどうすればよいハイブのパーティションについての位置を知るには?

ALTER TABLE tbl_name ADD PARTITION (dt=20131023) LOCATION 'hdfs://path/to/tbl_name/dt=20131023; 

のようなハイブのSQLを記述する場合?私はそこにいくつかのデータが場所にあるが、私はそれらを照会することはできません見つかったので、

SELECT data FROM tbl_name where dt=20131023; 
+0

どのようにすることができ、すべてのパーティションだけでなく1の1つのリストの場所? – morpheus

+0

@morpheusすべてのパーティションの場所を表示するには、 'show partitions table; 'と一緒にforループを使います。私はこれを実装するための1行のコマンドを見つけることはできません。 – MoreFreeze

答えて

3
show table extended like 'tbl_name' partition (dt='20131023'); 

Show Tables/Partitions Extended

SHOW TABLE EXTENDEDなどのハイブSQLは、指定した正規表現に一致するすべてのテーブルの情報を一覧表示します。パーティション指定がある場合、ユーザーはテーブル名に正規表現を使用できません。このコマンドの出力には、基本表情報とファイルシステム情報(totalNumberFiles,totalFileSize,maxFileSizeminFileSizelastAccessTime、およびlastUpdateTimeなど)が含まれています。パーティションが存在する場合は、テーブルのファイルシステム情報ではなく、指定されたパーティションのファイルシステム情報を出力します。

24

フルテーブルの代わりにパーティションで説明を実行します。
リンクされた場所が外部表の場合は、これが表示されます。あなたが複数のネストされたパーティションがある場合

describe formatted tbl_name partition (dt='20131023') 
8

、構文は次のとおりです。

describe formatted table_name partition (day=123,hour=2); 
関連する問題