sqoop从sybaseiq导入到hive-java.io.ioexception:nextkeyvalue中的sqlexception

pzfprimi  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(453)

当我试图将表导入到配置单元时,出现了一个奇怪的错误。
查询:

sqoop import  --connect 'jdbc:sybase:Tds:10.100.*.***:5500/DATABASE=****' --driver 'com.sybase.jdbc3.jdbc.SybDriver' --username "****" --password "***" --table dw.dm_court_courttype --direct -m 1 --hive-import --create-hive-table --hive-table DM_court_courtcype --target-dir "/user/hive/warehouse/DM_Court_CourtType" --verbose

错误:
java.io.ioexception:org.apache.sqoop.mapreduce.db.dbrecordreader.nextkeyvalue中的sqlexception(dbrecordreader)。java:277)在org.apache.hadoop.mapred.maptask$newtrackingrecordreader.nextkeyvalue(maptask。java:565)在org.apache.hadoop.mapreduce.task.mapcontextimpl.nextkeyvalue(mapcontextimpl。java:80)在org.apache.hadoop.mapreduce.lib.map.wrappedmapper$context.nextkeyvalue(wrappedmapper。java:91)在org.apache.hadoop.mapreduce.mapper.run(mapper。java:145)在org.apache.sqoop.mapreduce.autoprogressmapper.run(autoprogressmapper。java:64)在org.apache.hadoop.mapred.maptask.runnewmapper(maptask。java:796)在org.apache.hadoop.mapred.maptask.run(maptask。java:346)在org.apache.hadoop.mapred.yarnchild$2.run(yarnchild。java:163)位于javax.security.auth.subject.doas(subject)的java.security.accesscontroller.doprivileged(本机方法)。java:415)在org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation。java:1595)在org.apache.hadoop.mapred.yarnchild.main(yarnchild。java:158)导致的原因:com.sybase.jdbc3.jdbc.sybsqlexception:sql anywhere错误-131:第1行com.sybase.jdbc3.tds.tds.a(未知源)上的“.”附近的语法错误,位于com.sybase.jdbc3.tds.tds.nextresult(未知源),位于com.sybase.jdbc3.tds.tds.getresultsetresult(未知源)com.sybase.jdbc3.tds.tdscursor.open(未知源代码)位于com.sybase.jdbc3.jdbc.sybstatement.executequery(未知源代码)位于com.sybase.jdbc3.jdbc.sybpreparedstatement.executequery(未知源代码)位于org.apache.sqoop.mapreduce.db.dbrecordreader.executequery(dbrecordreader)。java:111)在org.apache.sqoop.mapreduce.db.dbrecordreader.nextkeyvalue(dbrecordreader。java:235) ... 12个以上

mmvthczy

mmvthczy1#

不要将数据库名与表名一起使用。
使用 --table dm_court_courttype 而不是 --table dw.dm_court_courttype 试试这个:

sqoop import --connect 'jdbc:sybase:Tds:10.100..:5500/DATABASE=****' --driver 'com.sybase.jdbc3.jdbc.SybDriver' --username "****" --password "*" --table dm_court_courttype --direct -m 1 --hive-import --create-hive-table --hive-table DM_court_courtcype --target-dir "/user/hive/warehouse/DM_Court_CourtType" --verbose

相关问题