2017-02-08 10 views
1

を見つけることができない、私は使用するコマンドは以下の通りです:sqoopのディレクトリを対象とする寄木細工のファイルとしてインポート、私はハイブにMySQLからのデータをインポートするsqoopを使用しているファイル

sqoop import --connect jdbc:mysql://localhost:3306/datasync \ 
    --username root --password 654321 \ 
    --query 'SELECT id,name FROM test WHERE $CONDITIONS' --split-by id \ 
    --hive-import --hive-database default --hive-table a \ 
    --target-dir /tmp/yfr --as-parquetfile 

ハイブテーブルがあります作成され、データが挿入されますが、私は寄木細工のファイルを見つけることができません。

誰でも知っていますか?

敬具、2つのステップでハイブ作品へ

Feiran

+1

データは、 '--target-dir'からハイブウェアハウスディレクトリに移動されます。 – franklinsijo

+0

_ "Hive table is created" _ Hiveで 'show create table ***'コマンドを実行するだけで、 "LOCATION"句はあなたのデータファイルがHDFSに格納されている場所を表示します。 –

+0

ありがとう、franklinsijoとSamson Scharfrichter – Feiran

答えて

1

Sqoopインポート:HDFSへRDBMSから

  • フェッチデータ
  • にデータが存在すると、ロードされていない場合ハイブテーブルを作成します。ハイブテーブル

あなたの場合、

まず、データは次に--target-dir即ち/tmp/yfr

に格納され、それが

LOAD DATA INPTH ... INTO TABLE..コマンドを使用して、ハイブテーブルaにロードされます。

のコメントに記載されているように、データはハイブウェアハウスディレクトリに移動されるため、--target-dirにデータがありません。

+0

ありがとう、ファイルは本当に倉庫にあります: /opt/data/hive/warehouse/chinacloud.db/aaaa/.metadata /opt/data/hive/warehouse/chinacloud.db /aaaa/signals /opt/data/hive/warehouse/chinacloud.db/aaaa/be31fa3f-7bd3-406d-a9e5-b30240c9242c.parquet /opt/data/home/warehouse/chinacloud.db/aaaa/bfe43c8b- dtc4-4cde-819f-d52a7f210672.parquet /opt/data/hive/warehouse/chinacloud.db/aaaa/d7e5deeb-594b-44b0-8abb-1990fa8fc17a.parquet – Feiran

+0

これは、 - target-dirが親切であることを意味しますファイルの一時的な場所は? – Feiran

+0

@Feiran HDFSのみにインポートする場合、データはこの場所にあります。ハイブインポートの場合は、一時的な場所です。 –

関連する問題