2015-11-20 321 views
3

我是SQOOP 1.4.5的新手。我已经通过了sqoop文档。我已经成功地将简单数据类型的各种记录导入/导出hdfs。SQOOP是否支持将CLOB/BLOB数据导出到ORACLE/SQL Server

下一步我尝试了LOB数据的示例CLOB。

我有创建查询是遵循一个简单的CLOB表...

CREATE TABLE “SCOTT”.”LARGEDATA” (“ID” VARCHAR2(20 BYTE), “IMG” CLOB) SEGMENT CREATION DEFERRED PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING TABLESPACE “USERS” LOB (“IMG”) STORE AS BASICFILE (TABLESPACE “USERS” ENABLE STORAGE IN ROW CHUNK 8192 RETENTION NOCACHE LOGGING); 

我可以成功地将数据导入hdsf

sqoop import –connect jdbc:oracle:thin:@:1522: –username –password –table ‘LARGEDATA’ -m 1 –target-dir /home/mydata/tej/LARGEDATA2 –fields-terminated-by , –escaped-by \\ –enclosed-by ‘\”‘ 

但是,当我试图备份导出这些数据使用以下命令的ORACLE

sqoop export –connect jdbc:oracle:thin:@:1522: –username –password –table ‘LARGEDATA’ -m 1 –export-dir /home/mydata/tej/LARGEDATA2 –fields-terminated-by , –escaped-by \\ –enclosed-by ‘\”‘ 

我得到以下异常

java.lang.CloneNotSupportedException: com.cloudera.sqoop.lib.ClobRef at java.lang.Object.clone(Native Method) 
java.io.IOException: Could not buffer record at org.apache.sqoop.mapreduce.AsyncSqlRecordWriter.write(AsyncSqlRecordWriter.java:218) 

,并在这个环节https://stackoverflow.com/questions/30778340/sqoop-export-4000-characters-column-data-into-oracle-clob

文件档案化错误我google一下,并得到以下已经提到,sqoop不支持出口的BLOB和CLOB数据链路。其中一些是2015年7月发布的。一些jira问题显示它仍然打开。论坛链接如下...

https://issues.apache.org/jira/browse/SQOOP-991 Can sqoop export blob type from HDFS to Mysql? http://sofb.developer-works.com/article/19310921/Can+sqoop+export+blob+type+from+HDFS+to+Mysql%3F http://grokbase.com/t/sqoop/user/148te4tghg/sqoop-import-export-clob-datatype Exporting sequence file to Oracle by Sqoop

任何人都可以请让我知道是LOB数据SQOOP支持出口?如果是的话请指导我如何做到这一点?

回答

0

尝试在oracle中创建登台表并使用--staging-table --clear-staging-table。将表格列保存为varchar2(10000)。

相关问题