2016-03-28 1 views
0

私はハイブを新しくしました。私はすべてのデータベースでテーブルのリストと関連メタデータ(列、行数など)を取得したい私が探しているのは、それを手渡すことができる何らかのスクリプトです。誰でもそれを実行し、ファイルに書き出して出力を提供することができます。ハイブのメタデータオプションを読み取る

1つのアプローチは、ハイブに接続してこの情報をプルするマップ作成プログラムを作成することです。

他の方法は、テーブルのリストを何とかループして、この情報を取得することです。私はshow tablesdescribe tableコマンドを認識していますが、これらのコマンドをスクリプトでどのように使用するか、およびこのスクリプトをどのように実行できるかはわかりません。

どのアプローチをとるべきですか?このタスクを実行するために使用できる他のオプション/アプローチは何ですか?助けてくれてありがとう。 [RDBMSのために、私はちょうどシステム・カタログ表にSQLクエリを書き込むことによってこれを行うことができます。]

答えて

0

私は(あなたが述べたように)テーブルのリストをループにスパーク、MapReduceの、または​​を使用して、つかむだろうさまざまなshowステートメントを使用して必要なデータ。最初にHPL/SQLのアプローチを調べて、Hiveクエリとして実行できるようにしました。最初のアプローチがうまくいかなかったら、Sparkで試行します。

-- loop on the values displayed in show tables 
show tables; 
-- then execute tblproperties and describe to get the metadata you are after 
show tblproperties yourTableName; 
describe yourTableName; 
+0

を助け https://dzone.com/articles/how-configure-mysql-metastore

希望を参照してくださいDerbyデータベースを使用していますおかしい?このスクリプトはどこで実行しますか? – stech

+0

これは、あなたがプログラムを必要としているような擬似コードロジックです。ちょうどハイブレベルの出発点です。私はHiveで実行するHPL/SQLを調べます。 – Jared

0

ハイブメタストアAPIを使用する方法も考えられます。私はあなたがMYSQLまたはOracleを使用するハイブメタストアを設定する必要があります、そして、あなたはMySQLやOracleデータベースにSYSテーブルを照会し、何があなたを得ることができると信じてHiveMetaStore APIs

を参照してくださいあなたはまた、WebHcatのAPIでHcat for Hive

0

を見ることができますwant.Byのデフォルトのハイブが

が、これはSH `からの出力によってIループにはどうすればよい

関連する問題