2016-08-12 15 views

答えて

0

mysqlやderbyのような外部メタストアにハイブを設定した場合は、メタストアテーブルDBSに問い合わせて情報を取得できます。上

クエリ

select NAME,OWNER_NAME,OWNER_TYPE from DBS;

+--------------+------------+------------+ 
| NAME   | OWNER_NAME | OWNER_TYPE | 
+--------------+------------+------------+ 
| default  | public  | ROLE  | 
| employee  | addy  | USER  | 
| test   | addy  | USER  | 
3

DESCRIBE|DESC DATABASEは、(1が設定されている場合)のデータベース、そのコメントの名称を示し、出力、およびそのルートの場所ファイルシステム。 SCHEMADATABASEの使用は同じ意味を持ちます。 DESCRIBE SCHEMAがハイブ0.15(HIVE-8803)に追加されました。

EXTENDEDには、データベースプロパティも表示されます。

DESCRIBE DATABASE [EXTENDED] db_name; 
DESCRIBE SCHEMA [EXTENDED] db_name;  -- (Note: Hive 0.15.0 and later) 

これらの例は、cardsデータベースはclouderaユーザーによって作成されたことを示しています。また、

ハイブデータベースが悲惨なHDFSに過ぎない

hive> SET hive.cli.print.header=true; 
hive> describe database cards; 
OK 
db_name comment location owner_name owner_type parameters 
cards  hdfs://quickstart.cloudera:8020/user/hive/warehouse/cards.db cloudera USER  
Time taken: 0.013 seconds, Fetched: 1 row(s) 

hive> desc schema cards; 
OK 
db_name comment location owner_name owner_type parameters 
cards  hdfs://quickstart.cloudera:8020/user/hive/warehouse/cards.db cloudera USER  
Time taken: 0.022 seconds, Fetched: 1 row(s) 

Hive倉庫のある場所には.db拡張子が付いています。あなたはhadoop fs -lsコマンドからユーザを得ることができます。

ディレクトリの場合、ディレクトリの場合、直接の子のリストをUnixのように返します。ディレクトリは、次のように表示されます。

permissions userid groupid modification_date modification_time dirname 

ディレクトリ内のファイルは、デフォルトでファイル名順に並べ替えられています。

例:

hadoop fs -ls /user/hive/warehouse/*.db |awk '{print $3,$NF}' 
0

どちらがあなたの問題を解決します:

hive> describe database extended db_name; 

hive> describe schema extended db_name; 

出力は、所有者のユーザー名を持っています。

関連する問題