evababy 发表于 2015-5-8 12:57:39

mysql导入hive问题

sqoop import --connect jdbc:mysql://master:3306/hiveDB --table sqooptest --username hive --password hive --hive-import --hive-overwrite --hive-database hiveDB --hive-table sqooptest --m 1每次导入成功后在HDFS生成一个文件,hdfs://master:9000/user/root/sqooptest,下次导入时提示此文件已经存在,这个文件并不是hive的数据文件。
hive存储位置: hdfs://master:9000/hive/XXXX/sqooptest

每次需要hadoop dfs -rm -R /user/root/sqooptest后才可重复导入,请问如何处理这个问题啊?

hadoop2.6.0
hive1.0.0
sqoop1.4.5




jixianqiuxue 发表于 2015-5-8 13:43:23

本帖最后由 jixianqiuxue 于 2015-5-8 13:45 编辑

重复导入应该是产生这么个文件。
楼主换个其他名字,如果不想这么做,只能二次开发了

evababy 发表于 2015-5-8 14:36:24

刚才不明白这个文件作用,经过群里帮忙,经过详细测试总结如下:
这个文件是存储临时数据和执行结果,可以通过--target-dir <dir>制定文件位置,每次都会产生一个结果文件,如果结果文件存在时,且再次执行冲突时会提示此文件已经存在的错误。

1、正常时候确实需要指定不同的名字来区分每次直接结果。
2、但还可以通过增加命令--delete-target-dir来声明每次执行时覆盖文件
页: [1]
查看完整版本: mysql导入hive问题