【发布时间】:2016-02-22 14:58:39
【问题描述】:
我是 SQOOP 1.4.5 的新手。我已经浏览了 sqoop 文档。我已经成功地将简单数据类型的记录导入/导出到 hdfs。
接下来我尝试获取示例 CLOB 的 LOB 数据。
我有一个简单的 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)
我在谷歌上搜索并得到以下链接,其中提到 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
谁能告诉我 SQOOP 是否支持 LOB 数据的导出?如果是,请指导我该怎么做?
【问题讨论】:
标签: oracle11g export hdfs sqoop clob