sqoop导入到hive表中报错

ning397 发布于 2013/12/27 16:49
阅读 470
收藏 0

在sqoop中执行了以下语句:

./sqoop import  --connect 'jdbc:sqlserver://192.168.1.1;username=sa;password=sa;database=wellmount_backup'  --table dn_test_rdr1  --hive-import -m 1

执行后报错,报错代码如下:

13/12/27 14:10:42 INFO tool.BaseSqoopTool: Using Hive-specific delimiters for output. You can override
13/12/27 14:10:42 INFO tool.BaseSqoopTool: delimiters with --fields-terminated-by, etc.
13/12/27 14:10:42 INFO manager.SqlManager: Using default fetchSize of 1000
13/12/27 14:10:42 INFO tool.CodeGenTool: Beginning code generation
13/12/27 14:10:42 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM [dn_test_rdr1] AS t WHERE 1=0
13/12/27 14:10:42 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /home/nappor/hadoop-1.2.1
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:2931: 找不到符号
符号: 方法 readString(java.io.DataInput)
位置: 类 java.lang.String
    this.BaseRef = Text.readString(__dataIn);
                       ^
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:2951: 找不到符号
符号: 方法 readString(java.io.DataInput)
位置: 类 java.lang.String
    this.LineStatus = Text.readString(__dataIn);
                          ^
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:2956: 找不到符号
符号: 方法 readString(java.io.DataInput)
位置: 类 java.lang.String
    this.ItemCode = Text.readString(__dataIn);
                        ^
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:2961: 找不到符号
符号: 方法 readString(java.io.DataInput)
位置: 类 java.lang.String
    this.Dscription = Text.readString(__dataIn);
                          ^
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:2987: 找不到符号
符号: 方法 readString(java.io.DataInput)
位置: 类 java.lang.String
    this.Currency = Text.readString(__dataIn);
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:4420: 找不到符号
符号: 方法 writeString(java.io.DataOutput,java.lang.String)
位置: 类 java.lang.String
    Text.writeString(__dataOut, ImportLog);
        ^
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:4444: 找不到符号
符号: 方法 writeString(java.io.DataOutput,java.lang.String)
位置: 类 java.lang.String
    Text.writeString(__dataOut, IsAqcuistn);
        ^
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:4504: 找不到符号
符号: 方法 writeString(java.io.DataOutput,java.lang.String)
位置: 类 java.lang.String
    Text.writeString(__dataOut, PoTrgEntry);
        ^
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:4510: 找不到符号
符号: 方法 writeString(java.io.DataOutput,java.lang.String)
位置: 类 java.lang.String
    Text.writeString(__dataOut, DropShip);
        ^
/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java:4522: 找不到符号
符号: 方法 writeString(java.io.DataOutput,java.lang.String)
位置: 类 java.lang.String
    Text.writeString(__dataOut, Address);
        ^
注意:/tmp/sqoop-nappor/compile/f1aaf9c56e044dab339a644f8e6fccd2/dn_test_rdr1.java 使用或覆盖了已过时的 API。
注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
100 错误
13/12/27 14:10:44 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Error returned by javac
        at org.apache.sqoop.orm.CompilationManager.compile(CompilationManager.java:207)
        at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:97)
        at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:396)
        at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:502)
        at org.apache.sqoop.Sqoop.run(Sqoop.java:145)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:181)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:220)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:229)
        at org.apache.sqoop.Sqoop.main(Sqoop.java:238)


同样类似的语句执行别的表时却没有报错,请问下这是什么原因?


加载中
0
吐槽的达达仔
吐槽的达达仔
你试试指定一下导入的字段。
n
ning397
回复 @吐槽的达达仔 : 谢谢!!
吐槽的达达仔
吐槽的达达仔
@ning397 有可能是sqoop在读取SQLSERVER的元数据的时候,出现了异常。我这里使用都是指定字段的方式,这样的好处在于,不会由于数据库字段增加导致出现数据导入异常。
n
ning397
银次:最新版的sqoop包里面好像已经有sqlserver的驱动了。我指定了几个字段导入是没有问题的,不指定字段就有问题了。难道是列数还有限制?
0
n
ning397
高手们帮我解决下!!!
0
吐槽的达达仔
吐槽的达达仔
你有装sqlserver的驱动吗??
0
秋叶不落
秋叶不落
表名换成全部大写试试
n
ning397
大小写都尝试过了,包括字段的大小写,跟SQLServer的完全一致
0
阳光暖暖
阳光暖暖
我在javaweb工程下操作,报这个错误,但是在javase的工程下运行正常,不知为什么!
aqi915
aqi915
您好,您解决了么,我了是这个问题呢
返回顶部
顶部