2015-07-10 2 views
0

Я использую Sqoop, чтобы попробовать импортировать таблицу серверов sql в Hive. Строка соединения работает правильно, но импорт не работает. Ниже приведен вывод. Я получаю ту же ошибку, если я попытаюсь импортировать в HDFS. Кто-нибудь знает, в чем проблема?Импорт в куст с использованием ошибки Sqoop Java.io

[[email protected] 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) 

ответ

0

Проблема оказалась в том, что у меня было название столбца под названием «Текст», и это вызывало ошибку. Я исправил его, переименовав свою колонку.

0

Ошибки в показаниях, показанных выше, обусловлены наличием банкомата hadoop в CLASSPATH. Попробуйте импортировать его после установки CLASSPATH. Ниже приведен пример для оболочки tcsh.

setenv CLASSPATH $HADOOP_HOME/lib/*:$CLASSPATH 
+0

Привет @Shubhangi, спасибо за ответ, но я попытался импортировать другую таблицу из моей базы данных, и она работала правильно, так что, возможно, проблема с таблицей, которую я пытаюсь импортировать – shane