覆盖hdfs目录Sqoop导入

时间:2016-10-19 11:28:11

标签: sqoop

在Sqoop导入时,是否可以自动覆盖HDFS目录而不是每次手动覆盖它? (我们有像“--overwrite”这样的选项,就像我们对hive导入一样“--hive-overwrite”)

2 个答案:

答案 0 :(得分:9)

使用--delete-target-dir

在将数据写入此目录之前,它将删除命令中提供的<HDFS-target-dir>

答案 1 :(得分:5)

使用此:--delete-target-dir

这将使用sqoop语法覆盖hdfs目录:

$ sqoop import --connect jdbc:mysql://localhost/dbname --username username -P --table tablename --delete-target-dir --target-dir '/targetdirectorypath' -m 1

E.g:

$ sqoop import --connect jdbc:mysql://localhost/abc --username root -P --table empsqooptargetdel --delete-target-dir --target-dir '/tmp/sqooptargetdirdelete' -m 1

每次运行此命令时,此命令将刷新相应的hdfs目录或hive表数据以及更新/新数据。