0

Sqoop を使用して多数の大きな MySQL テーブルを HDFS にインポートするときに、 --hive-import フラグを含めるのを忘れていました。これらのテーブルを HDFS に配置したので、(LOAD DATA ステートメントを自分で記述せずに) データを Hive にロードする簡単な方法があるかどうか疑問に思っています。

sqoop create-hive-table を使用してみました:

./bin/sqoop create-hive-table --connect jdbc:mysql://xxx:3306/dw --username xxx --password xxx --hive-import --table tweets

これにより正しいハイブ テーブルが作成されましたが、データはインポートされませんでした。ここで単純なものが欠けているような気がします...

記録として、Sqoop 1.4.1 で Elastic MapReduce を使用しています。

4

2 に答える 2

4

ハイブで外部テーブルを作成して、これらのファイルを指すことはできませんか?

create external table something(a string, b string) location 'hdfs:///some/path'
于 2012-05-09T16:42:53.917 に答える
1

コマンドで「インポート」が指定されていません。構文は sqoop ツール名 [ツール引数] です。

次のようになります。

$ sqoop import --create-hive-table --connect jdbc:mysql://xxx:3306/dw --username xxx --password xxx --hive-import --table ツイート

于 2014-02-04T16:08:33.840 に答える