【问题标题】:Got exception running Sqoop: java.lang.NullPointerException using -query and --as-parquetfile运行 Sqoop 时出现异常:使用 -query 和 --as-parquetfile 的 java.lang.NullPointerException
【发布时间】:2015-09-12 11:59:17
【问题描述】:

我正在尝试将表数据从 Redshift 导入 HDFS(使用 Parquet 格式)并遇到如下所示的错误:

15/06/25 11:05:42 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.NullPointerException
java.lang.NullPointerException
        at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:97)
        at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)
        at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
        at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
        at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
        at org.apache.sqoop.Sqoop.main(Sqoop.java:236)

使用的命令行查询:

sqoop 导入 --driver "com.amazon.redshift.jdbc41.Driver" --connect "jdbc:postgresql://:5439/events" --username "用户名" --password "password" --query "SELECT * FROM mobile_og.pages WHERE \$CONDITIONS" --split-by anonymous_id --target-dir /user/huuser/pq_mobile_og_pages_2 --as-parquetfile.

--as-parquetfile 选项从上述命令行查询中删除时,它可以正常工作。

【问题讨论】:

  • 当我们只使用 --table 而没有 --query 时,它与 --as-parquetfile 一起工作得很好。

标签: hadoop sqoop parquet


【解决方案1】:

已确认为错误SQOOP-2571

如果你想导入一个表的所有数据,那么你最终可以运行这样一个命令:

sqoop import --driver "com.amazon.redshift.jdbc41.Driver" \
  --connect "jdbc:postgresql://:5439/events" \
  --username "username" --password "password" \
  --table mobile_og.pages \
  --split-by anonymous_id \
  --target-dir /user/huser/pq_mobile_og_pages_2 \
  --as-parquetfile

--where也是一个有用的参数。检查user manual

【讨论】:

    猜你喜欢
    • 2019-02-03
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2020-07-02
    相关资源
    最近更新 更多