Я пытаюсь импортировать данные из Oracle в Hive, используя sqoop.
Я использовал команду ниже один раз, теперь я хочу перезаписать существующие данные новыми данными (Daily Action).
Я снова запустил эту команду.Hive External Table
sqoop import --connect jdbc:oracle:thin:@UK01WRS6014:2184:WWSYOIT1
--username HIVE --password hive --table OIDS.ALLOCATION_SESSION_DIMN
--hive-overwrite --hive-database OI_DB --hive-table ALLOCATION_SESSION_DIMN
Но я получаю сообщение об ошибке Файл уже существует:
14/10/14 07:43:59 ERROR security.UserGroupInformation:
PriviledgedActionException as:axchat
(auth:SIMPLE) cause:org.apache.hadoop.mapred.FileAlreadyExistsException:
Output directory
hdfs://uslibeiadg004.aceina.com:8020/user/axchat/OIDS.ALLOCATION_SESSION_DIMN
already exists
Таблицы, которые я создал в улье были все внешние таблицы. Как mapreduce, нужно ли нам удалять этот файл каждый раз, когда мы выполняем ту же команду?
Любая помощь будет высоко оценена.
в моем случае, так как я создал внешнюю структуру таблицы в улье, а затем sqoop-импорт данных в эти внешние таблицы с использованием -hive-overwrite. Я не знаю, почему я получаю ошибку FileAlreadyExists. он не должен давать ошибку, так как im переписывает ее. я прав ? – aiman
У вас есть перехват улья, но не hdfs перезаписать. – davek
@devek - если я удаляю эти внешние таблицы, воссоздаю управляемые таблицы, n импортирует данные, он будет загружаться штрафом. снова, если я импортирую данные, используя -hive-overwrite, я не должен получать ошибку FileAlreadyExists. я прав ? – aiman