【问题标题】:Import into Hive using Sqoop Java.io error使用 Sqoop Java.io 错误导入 Hive
【发布时间】:2015-07-10 22:43:33
【问题描述】:

我正在使用 Sqoop 尝试将 sql server 表导入 Hive。连接字符串工作正常,但导入失败。下面是输出。如果我也尝试导入 HDFS,我也会遇到同样的错误。有谁知道可能是什么问题?

[cloudera@ushydgnadipalvx sqoop]$ sqoop import --connect "jdbc:sqlserver://[server];username=[username];password=[password];database=[dbname]" --table [tablename] --hive-import
Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
15/07/10 15:31:41 INFO sqoop.Sqoop: Running Sqoop version: 1.4.3-cdh4.7.0
15/07/10 15:31:41 INFO tool.BaseSqoopTool: Using Hive-specific delimiters for output. You can override
15/07/10 15:31:41 INFO tool.BaseSqoopTool: delimiters with --fields-terminated-by, etc.
15/07/10 15:31:41 INFO manager.SqlManager: Using default fetchSize of 1000
15/07/10 15:31:41 INFO tool.CodeGenTool: Beginning code generation
15/07/10 15:31:43 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM [SocialDatas] AS t WHERE 1=0
15/07/10 15:31:45 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /usr/lib/hadoop-0.20-mapreduce
/tmp/sqoop-cloudera/compile/0159bb09ed314f098b249cb4c7c97130/SocialDatas.java:206: cannot find symbol
symbol  : method readString(java.io.DataInput)
location: class java.lang.String
    this.Language = Text.readString(__dataIn);
                        ^
/tmp/sqoop-cloudera/compile/0159bb09ed314f098b249cb4c7c97130/SocialDatas.java:211: cannot find symbol
symbol  : method readString(java.io.DataInput)
location: class java.lang.String
    this.Platform = Text.readString(__dataIn);
                        ^
/tmp/sqoop-cloudera/compile/0159bb09ed314f098b249cb4c7c97130/SocialDatas.java:216: cannot find symbol
symbol  : method readString(java.io.DataInput)
location: class java.lang.String
    this.Text = Text.readString(__dataIn);
                    ^
/tmp/sqoop-cloudera/compile/0159bb09ed314f098b249cb4c7c97130/SocialDatas.java:257: cannot find symbol
symbol  : method writeString(java.io.DataOutput,java.lang.String)
location: class java.lang.String
    Text.writeString(__dataOut, Language);
        ^
/tmp/sqoop-cloudera/compile/0159bb09ed314f098b249cb4c7c97130/SocialDatas.java:263: cannot find symbol
symbol  : method writeString(java.io.DataOutput,java.lang.String)
location: class java.lang.String
    Text.writeString(__dataOut, Platform);
        ^
/tmp/sqoop-cloudera/compile/0159bb09ed314f098b249cb4c7c97130/SocialDatas.java:269: cannot find symbol
symbol  : method writeString(java.io.DataOutput,java.lang.String)
location: class java.lang.String
    Text.writeString(__dataOut, Text);
        ^
Note: /tmp/sqoop-cloudera/compile/0159bb09ed314f098b249cb4c7c97130/SocialDatas.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
6 errors
15/07/10 15:31:47 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Error returned by javac
    at org.apache.sqoop.orm.CompilationManager.compile(CompilationManager.java:217)
    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:506)
    at org.apache.sqoop.Sqoop.run(Sqoop.java:147)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:222)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:231)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:240)

【问题讨论】:

    标签: java hadoop sqoop


    【解决方案1】:

    上面显示的输出错误是由于 hadoop jar 不在 CLASSPATH 中。设置正确的 CLASSPATH 后尝试导入。下面是tcsh shell 的示例。

    setenv CLASSPATH $HADOOP_HOME/lib/*:$CLASSPATH
    

    【讨论】:

    • 嗨@Shubhangi,感谢您的回复,但我尝试从我的数据库中导入不同的表并且它工作正常,所以我尝试导入的表可能存在问题
    【解决方案2】:

    问题原来是我有一个名为“文本”的列名,这导致了错误。我通过重命名我的专栏来修复它。

    【讨论】:

      猜你喜欢
      • 2016-08-07
      • 2017-02-03
      • 2018-09-17
      • 1970-01-01
      • 2018-06-06
      • 2016-04-26
      • 1970-01-01
      • 2016-03-17
      • 2021-02-27
      相关资源
      最近更新 更多