0

Postgresql データベースからデータをインポートするために Sqoop2 (Sqoop 1.99.3-cdh5.1.0) を使用しています。ジョブが正常に完了し、HDFS にテキスト ファイルが作成されます。出力ファイルは一重引用符付きの CSV です。出力を引用符なしでタブ区切りにするように構成したいと思います。

Sqoop2 の出力形式は設定可能ですか?

4

2 に答える 2

1

Sqoop2 ではまだ出力フォーマットの設定が許可されていないようです。

Sqoop では、ここでコマンド ライン引数を使用して出力形式を構成できます: http://sqoop.apache.org/docs/1.4.4/SqoopUserGuide.html#_large_objects (コメントに貼り付けた thx @purpletech も参照)

Cloudera Hadoop ユーザーの場合: Sqoop は Sqoop2 と一緒にインストールされ、CDH がインストールされている場所にあります。Hue は Sqoop2 用の Web インターフェイスを提供し、Sqoop1 はコマンド ラインから呼び出す必要があります。

于 2014-08-07T01:17:44.770 に答える
0

私は同じ問題を抱えていたので、Sqoop1で終わりました。Sqoop2 は優れていますが、次のような欠点があります。

  • Oozie で Sqoop2 ジョブを計画することはできないため、手動でのみ実行できます。
  • データを Hive または HBase に直接ロードすることはできず、ファイルにのみロードできます。
  • 出力区切り文字と囲みを構成することはできません。

したがって、sqoop1 を使用することをお勧めします。これは非常に簡単です。

sqoop import --connect xxxx --username xxxx --password xxxx --query select * from xxx --target-dir /tmp/xxx -m 1 --fields-terminated-by | --enclosed-by \0 

Hue ジョブを使用している場合は、このコマンドを Sqoop ジョブの Command フィールドに書き込まずに、すべてのコマンドを別の Params に挿入することをお勧めします (最初のパラメーターが import、2 番目の --connect、3 番目の接続文字列、次に --username など)。 )。

それが役立つことを願って、幸運を祈ります

于 2014-08-07T08:22:37.933 に答える