1

sqoop を介して oracle db のいくつかのテーブルをハイブにインポートしました。コマンドは次のようになります。

./sqoop import --connect jdbc:oracle:thin:@//185.2.252.52:1521/orcl --username USER_NAME --password test --table TABLENAME--hive-import

埋め込みメタストアを使用しています(少なくともそう思います。その点でデフォルトのconfを変更していません)。HIVE で SHOW TABLES を実行すると、インポートされたテーブルは表示されませんが、コマンド ラインを介してテスト用に作成したいくつかのテーブルは表示されます。テーブルはすべて hdfs の同じウェアハウス ディレクトリにあります。sqoop インポートが同じメタストアを使用していないようです。

しかし、それはどこですか?また、コマンドラインを使用してクエリを実行するときに、どのように切り替えることができますか?

ありがとう

4

1 に答える 1

1

デフォルトでユーザーの現在の作業ディレクトリに存在しない場合にHIVEが作成するため、問題全体は埋め込みメタストアにあると思います。そのため、Sqoop はハイブとは異なるメタストアを使用することになります。MySQL をメタストアのバックエンドとして構成することをお勧めします。

于 2013-01-12T08:34:54.427 に答える