Oracle Sqoop导入字符串哈希值具有特殊字符

Oracle Sqoop导入字符串哈希值具有特殊字符,oracle,hadoop,sqoop,Oracle,Hadoop,Sqoop,Sqoop导入字符串哈希值具有特殊字符,并且由于以下异常而失败 2016-05-10 16:49:00506信息[LocalJobRunner Map Task Executor 0]db.DBRecordReader DBRecordReader.java:executeQuery110-执行查询:选择JCP_STR_CNTCT_INFO.SHIPPING_GROUP_ID,JCP_STR_CNTCT_INFO.STR_ID,JCP_STR_CNTCT_INFO.FRST_NM,JCP_STR

Sqoop导入字符串哈希值具有特殊字符,并且由于以下异常而失败

2016-05-10 16:49:00506信息[LocalJobRunner Map Task Executor 0]db.DBRecordReader DBRecordReader.java:executeQuery110-执行查询:选择JCP_STR_CNTCT_INFO.SHIPPING_GROUP_ID,JCP_STR_CNTCT_INFO.STR_ID,JCP_STR_CNTCT_INFO.FRST_NM,JCP_STR_CNTCT_INFO.LAST_NM,JCP_STR_CNTCT_INFO,JCP_STR_CNTCT_INFO.EMAIL_ID,JCP_STR_CNTCT_INFO.IS_PRIM_pick_IN DT_PRD_CORE.JCP_STR_CNTCT_INFO,DT_PRD_CORE.DCSPP_SHIP_GROUP,DT_PRD_CORE.DCSPP_ORDER其中JCP_stru CNTCT_INFO.SHIPPING_GROUP_ID=DCSPP_SHIP_GROUP.SHIPPING_ID和DCSPP_SHIP_GROUP.ORDER_REF=DCSPP_ORDER.ORDER_ID和JCP_stru CNTCT_INFO.SHIPPING_GROUP_ID>='sg10038415;和JCP_stru CNTCT_INFO.SHIPPING_GROUP_ID<'sg31쀰耲䀶4.䀲 2016-05-10 16:49:00535错误[LocalJobRunner映射任务执行器0]db.DBRecordReader LoggingUtils.java:logAll43-顶级异常: java.sql.SQLSyntaxErrorException:ORA-01756:带引号的字符串未正确终止 位于oracle.jdbc.driver.t4cttiore.processErrort4cttiore.java:447 位于oracle.jdbc.driver.t4cttiore.processErrort4cttiore.java:396 位于oracle.jdbc.driver.T4C8Oall.processErrorT4C8Oall.java:951 位于oracle.jdbc.driver.T4CTTIfun.receiveT4CTTIfun.java:513 位于oracle.jdbc.driver.T4CTTIfun.doRPCT4CTTIfun.java:227 位于oracle.jdbc.driver.T4C8Oall.doOALLT4C8Oall.java:531 位于oracle.jdbc.driver.T4CPreparedStatement.doOall8T4CPreparedStatement.java:208 位于oracle.jdbc.driver.T4CPreparedStatement.executeForedScribet4cpreparedstatement.java:886 java:1175 位于oracle.jdbc.driver.OracleStatement.doExecuteWithTimeoutOracleStatement.java:1296 位于oracle.jdbc.driver.OraclePreparedStatement.executeInternalOraclePreparedStatement.java:3613 位于oracle.jdbc.driver.OraclePreparedStatement.executeQueryOraclePreparedStatement.java:3657 位于oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQueryOraclePreparedStatementWrapper.java:1495 位于org.apache.sqoop.mapreduce.db.DBRecordReader.executeQueryDBRecordReader.java:111 位于org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValueDBRecordReader.java:235 位于org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValueMapTask.java:556 位于org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValueMapContextImpl.java:80 位于org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValueWrappedMapper.java:91 位于org.apache.hadoop.mapreduce.Mapper.runMapper.java:145 位于org.apache.sqoop.mapreduce.AutoProgressMapper.runAutoProgressMapper.java:64 位于org.apache.hadoop.mapred.MapTask.runNewMapperMapTask.java:787 位于org.apache.hadoop.mapred.MapTask.runMapTask.java:341 位于org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.runLocalJobRunner.java:243 位于java.util.concurrent.Executors$RunnableAdapter.callExecutors.java:511 位于java.util.concurrent.FutureTask.runFutureTask.java:266 位于java.util.concurrent.ThreadPoolExecutor.runWorkerThreadPoolExecutor.java:1142 位于java.util.concurrent.ThreadPoolExecutor$Worker.runThreadPoolExecutor.java:617 java:745
2016-05-10 16:49:00554信息[Thread-665]mapreduce.AutoProgressMapper ProgressThread.java:run158-自动进程线程完成。keepGoing=false

在sqoop中,可以使用以下参数更改导入数据的字符集

--default-character-set=<your character set>
我建议您检查您的Oracle数据库字符集,并尝试在上面的sqoop参数中相应地设置它

资料来源: