2017-07-06 15 views
0

ハイブテーブルの一覧があり、その中にはいくつかのものがあります。列を指定すると、特定のテーブルがその列に分割されているかどうかを確認する必要があります。 私は検索して、フォーマットのタブ名がの場合、テーブルのすべての詳細が検索されます。 私はすべてのテーブルを反復してリストを取得しなければならないので、フォーマットされたdescは役に立たないでしょう。 これを行う方法は他にありますか?ハイブテーブルが特定の列で分割されているかどうか確認してください。

答えて

1

あなたはメタストアとそれを照会するために直接接続することができます。

metastore=# select d."NAME" as DATABASE, 
    t."TBL_NAME" as TABLE, 
    p."PKEY_NAME" as PARTITION_KEY 
    from "PARTITION_KEYS" p 
    join "TBLS" t on p."TBL_ID"=t."TBL_ID" 
    join "DBS" d on t."DB_ID"=d."DB_ID"; 

database | table | partition_key 
----------+-------------+--------------- 
default | src_union_1 | ds 
default | cbo_t1  | dt 
default | cbo_t2  | dt 

あなたのメタストアを照会の正確な構文は、(私の場合はPostgreSQLの一つです)メタストアのあなたの特定の選択に依存します。

関連する問題