Перезаписать каталог hdfs Sqoop import
Можно ли автоматически перезаписывать каталог HDFS вместо того, чтобы перезаписывать его каждый раз вручную при импорте Sqoop? (У нас есть какой-либо параметр, такой как "--overwrite", как у нас для импорта кустов "--hive-overwrite")
2 ответа
Решение
Использование --delete-target-dir
Это удалит <HDFS-target-dir>
предоставляется в команде перед записью данных в этот каталог.
Использовать этот: --delete-target-dir
Это будет работать для перезаписи каталога hdfs с использованием синтаксиса sqoop:
$ 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
Эта команда обновляет соответствующий каталог hdfs или данные таблицы кустов обновленными / свежими данными при каждом запуске этой команды.