Oracle 11g R2(import-all-tables)からすべてのテーブルをインポートしようとしていますが、CLOBタイプに問題があります。 (CDH 5.9、Sqoop 1.4.6-cdh5.9.1を使用)Sqoop:BLOBタイプを変換するすべてのテーブルをインポートします
まず試してみてください。
sqoop import-all-tables --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --direct
テーブルが正しくCLOB列を持つ1台が見つかるまで、インポートして、次のエラーがスローされます:に変換できません。 SQLタイプ2005
2回目の試行:
sqoop import-all-tables -D oraoop.disabled=true --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX
私は同じエラーを取得します。
sqoop import-all-tables --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --map-column-java CLOBCOL=String
一つだけ私のテーブルのはCLOBCOL列を持っているので、これは失敗します。
第三には、これは動作しますので、私はすべてのテーブルと同じを取得しよう
sqoop import --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --table MyClobTable --map-column-java CLOBCOL=String
を試してみてください。
2005年のSQL型エラーを修正するか、Sqoopに「即座に」解決する方法を伝える方法はありますか?
ありがとうございます!
あなたが見ている問題は何ですか? clobを文字列に強制するのではなく、sqoopにサイズの必要に応じてファイルを格納させることを考慮する必要があります(相対的に小さい場合、インラインにすることも、_lobsサブディレクトリに入れることもできます)。 – tbone
投稿をより明示的に編集しました。 「Sqoopに必要なファイルをそのサイズで保存させる」方法は? – Cheloute