当我试图将表导入到配置单元时,出现了一个奇怪的错误。
查询:
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个以上
1条答案
按热度按时间mmvthczy1#
不要将数据库名与表名一起使用。
使用
--table dm_court_courttype
而不是--table dw.dm_court_courttype
试试这个: