覆盖hdfs目录 Sqoop导入

overwrite hdfs directory Sqoop import

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

使用--delete-target-dir

在向该目录写入数据前,会删除命令中提供的<HDFS-target-dir>

使用这个:--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

例如:

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

这条命令会用updated/fresh条数据刷新对应的hdfs目录或hivetable条数据,每次这条命令都是运行.