get异常运行sqoop:java.lang.nullpointerexception使用-query和--as parquetfile

sirbozc5  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(543)

我正在尝试将表数据从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 import--driver“com.amazon.redshift.jdbc41.driver”--connectjdbc:postgresql://:5439/events”--用户名“username”--密码“password”--查询“select*from mobile\u og.pages where$conditions”--按匿名\u id拆分--目标dir/user/huser/pq\u mobile\u og\u pages\u 2--作为parquetfile。
它工作的时候很好 --as-parquetfile 选项将从上述命令行查询中删除。

6gpjuf90

6gpjuf901#

这是一个错误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 也是一个有用的参数。查看用户手册。

相关问题