Sqoop 增量导入“无法将文件附加到目标目录”
Posted
技术标签:
【中文标题】Sqoop 增量导入“无法将文件附加到目标目录”【英文标题】:Sqoop incremental import "Cannot append files to target dir" 【发布时间】:2015-01-14 15:39:03 【问题描述】:我在使用 Sqoop 将数据从 mysql 导入 Hive 时遇到问题...
这个查询:
sqoop import --connect jdbc:mysql://xx.xx.xx.xx/database \
--username sqoop --password sqoop --table datatable \
--target-dir /home/cloudera/user/hive/warehouse/database.db/datatable \
--as-parquetfile -m 1 --append
返回此错误:
15/01/14 16:27:28 WARN util.AppendUtils:无法将文件附加到目标目录;没有这样的目录:_sqoop/14162350000000781_32315_servername.ip-xx-xx-xx.eu_datatable
文件以这种方式位于 /user/root/_sqoop/ 中:/user/root/_sqoop/14162350000000781_32315_servername/ip-xx-xx-xx/eu_datatable/
主机名中的点被斜杠替换是否正常?这似乎是问题,但没有人抱怨这个问题......
编辑:当使用文本格式而不是 Parquet 时,它可以正常工作。
谢谢!
【问题讨论】:
sqoop 的版本是多少? 我也有类似的问题。我正在运行命令: sqoop import --connect "..." --password "..." --username "..." --hbase-create-table --table "TRANSFER_HBASE01" --hbase-table " HBASE01" --column-family "transfer01" --target-dir "/user/mapr/TRANSFER_HBASE01" --check-column "ID" --incremental "append" --last-value 5 我收到警告:WARN util.AppendUtils:无法将文件附加到目标目录;没有这样的目录:_sqoop/891283d89d584bf3b06c73122805e270_TRANSFER_HBASE01 从 pig 脚本读取时我无法获取增量数据。有没有人为此找到任何解决方案? 在运行从 postgresql 到 avro 的增量导出时,我遇到了同样的问题。没有增量更新也能正常工作。 【参考方案1】:就我而言,现在仍然是个问题。
即使你使用sqoop 1.4.6,结果还是一样。
https://issues.apache.org/jira/browse/SQOOP-2165
【讨论】:
以上是关于Sqoop 增量导入“无法将文件附加到目标目录”的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Sqoop 从 MySQL 增量导入到 Hive?
通过 oozie 从 sqoop 作业增量导入不会更新 sqoop 元存储中的 incremental.last.value