Hive テーブルから MySQL テーブルにデータをスクープしたいと考えています。どちらも同じ列のセットを持っていますが、順序が異なります。
mysql テーブルに属する列順序を持つ Hive クエリを使用して、データを mysql テーブルにスクープする方法はありますか?
Sqoop は現在、Hive クエリからの「エクスポート」操作をサポートしていません。サポートされている回避策は、Hive で列の順序を変更する Hive クエリを実行し、その結果を一時テーブルとして Hive に格納することです。その後、Sqoop を使用してこの一時テーブルをエクスポートできます。
sqoop export
オプションを使用して、必要な MySQL 列の順序を渡すことができ--columns
ます。たとえば、Hive テーブルにそれらが順番A, B, C
にある場合、MySQL に列を取得する順序を伝えるために実行sqoop export --connect ... --columns A,B,C
します。宛先 MySQL テーブルの列名を使用する必要があります。