【问题标题】:Sqoop job for data transfer from Netezza to HDFS用于从 Netezza 到 HDFS 的数据传输的 Sqoop 作业
【发布时间】:2015-11-04 11:34:01
【问题描述】:

我编写了一个 sqoop 作业,将数据从 Netezza 中的表导入到 HDFS。该作业已成功创建,并且在执行时也会启动 Map Reduce 作业。作业一直运行到 ma​​p 100% reduce 0% 并卡住。作业永远不会完成,并且根本不会传输数据。没有观察到错误或异常。

对于同一数据库的其他表,我几乎没有类似的工作。那些正确执行并传输数据。这种行为的可能原因是什么。

以下是选项文件中给出的 sqoop 作业的配置。

--直接 - 连接 jdbc:netezza://url/database_name - 用户名 A B C D - 密码 xyz - 桌子 表名 --拆分 primary_key_column --目标目录 hdfs_path -m 8

【问题讨论】:

  • 你能发布你的 sqoop 导入命令吗?

标签: hadoop sqoop


【解决方案1】:

我删除了 --direct 选项,作业按预期工作。如果在 Netezza 的情况下数据包含“,”字符,则直接选项不起作用。下面是使用--direct遇到的异常错误:

无法执行外部表导出 org.netezza.error.NzSQLException: ERROR: found delim ',' in a data field, 在外部表定义中指定 escapeChar '\' 选项

【讨论】:

  • 我也遇到了同样的问题。我认为这几乎使--direct 选项无用......我永远不会知道我的数据是否有分隔符......它只会挂起我所依赖的工作。
  • 我也遇到了同样的问题,添加 --input-escaped-by '\' \ --escaped-by '\' 效果很好
猜你喜欢
  • 2014-12-25
  • 1970-01-01
  • 2012-05-18
  • 2018-12-05
  • 1970-01-01
  • 2016-09-05
  • 2018-02-12
  • 2014-11-25
  • 2016-07-26
相关资源
最近更新 更多