Ich versuche, alle Tabellen von meinem Oracle 11g R2 (Import-all-Tabellen) zu importieren, und ich habe ein Problem mit einem CLOB-Typ. (Mit CDH 5.9, Sqoop 1.4.6-cdh5.9.1)Sqoop: Importieren Sie alle Tabellen, die Blob-Typen konvertieren
Erster Versuch:
sqoop import-all-tables --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --direct
Tabellen werden korrekt importiert, bis eine Tabelle mit einer CLOB-Spalte gefunden wird, und wirft die folgenden Fehler: Kann nicht konvertieren SQL-Typ 2005.
Zweiter Versuch:
sqoop import-all-tables -D oraoop.disabled=true --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX
ich bekomme den gleichen Fehler.
Dritte versuchen
sqoop import --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --table MyClobTable --map-column-java CLOBCOL=String
Dies funktioniert, so dass ich versuchen, das gleiche mit allen Tabellen zu erhalten:
sqoop import-all-tables --connect ... --hive-import --hive-overwrite --as-parquet-file --autoreset-to-one-mapper -m XX --map-column-java CLOBCOL=String
Dies schlägt fehl, da nur einer meiner Tabellen eine CLOBCOL Spalte bekam.
Gibt es eine Möglichkeit, Import-All-Tabellen zu verwenden, den 2005 SQL-Typ-Fehler zu beheben oder Sqoop mitzuteilen, wie es "on the fly" gelöst werden kann?
Danke!
Was ist das Problem, das Sie genau sehen? Anstatt zu versuchen, cobobs zu Strings zu zwingen, sollten Sie in Betracht ziehen, sqoop die Dateien für ihre Größe speichern zu lassen (wenn sie relativ klein sind, können sie inline sein, sonst im _lobs-Unterverzeichnis). – tbone
Ich habe meine Post bearbeitet, um expliziter zu sein. Wie kann ich "Sqoop die Dateien nach Bedarf für ihre Größe speichern lassen"? – Cheloute