【问题标题】:sqoop | getting nullpointerexception while running sqoop import toolsqoop |运行 sqoop 导入工具时出现空指针异常
【发布时间】:2018-04-04 23:33:05
【问题描述】:

我正在尝试使用 sqoop 1.4.7 将 mysql 表导入配置单元。我已执行的命令

sqoop import --connect jdbc:mysql://localhost:3306/sb --username root --password xxxx --table sb_user --hive-import --create-hive-table --hive-table sqoop_import.test_from_sqoop --fields-terminated-by "," --bindir ./

但得到以下异常

Warning: /usr/local/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
18/04/03 22:44:56 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
18/04/03 22:44:56 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
18/04/03 22:44:56 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
18/04/03 22:44:56 INFO tool.CodeGenTool: Beginning code generation
18/04/03 22:44:57 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `sb_user` AS t LIMIT 1
18/04/03 22:44:57 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `sb_user` AS t LIMIT 1
18/04/03 22:44:57 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /usr/local/hadoop
Note: ./sb_user.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
18/04/03 22:44:58 INFO orm.CompilationManager: Writing jar file: ./sb_user.jar
18/04/03 22:44:58 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
java.lang.NullPointerException
    at java.util.Objects.requireNonNull(Objects.java:203)
    at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
    at java.util.Arrays.asList(Arrays.java:3800)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:76)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListingNoSort(FileListing.java:82)
    at org.apache.sqoop.util.FileListing.getFileListing(FileListing.java:67)
    at com.cloudera.sqoop.util.FileListing.getFileListing(FileListing.java:39)
    at org.apache.sqoop.orm.CompilationManager.addClassFilesFromDir(CompilationManager.java:293)
    at org.apache.sqoop.orm.CompilationManager.jar(CompilationManager.java:378)
    at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:108)
    at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:501)
    at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:628)
    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:234)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:252)

但是我可以成功执行下面的命令

sqoop list-tables --connect jdbc:mysql://localhost:3306/information_schema --username root -password xxxx

请帮帮我。谢谢

【问题讨论】:

    标签: sqoop


    【解决方案1】:

    问题出在--bindir ./ 选项中。 Sqoop 尝试递归地添加 ./ (https://github.com/apache/sqoop/blob/trunk/src/java/org/apache/sqoop/util/FileListing.java#L72) 中的所有内容。检查此目录或更改它。

    【讨论】:

    • 天哪,你怎么能找到这个??但是,您仍然没有描述解决方案。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    相关资源
    最近更新 更多