我试图使用sqoop从Oracle导入数据到Hive。
我使用了下面的命令一次,现在我想用新的数据覆盖现有的数据(Daily )。
我又执行了这个命令。
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我在hive中创建的表都是外部表。和mapreduce一样,每次执行相同的命令时,我们都必须删除该文件吗?
任何帮助都将不胜感激。
发布于 2014-10-14 12:38:32
当您从EXTERNAL表中删除时,您只删除Hive转移中的对象:您不删除该表所叠加的文件。非外部表属于Hive,删除后将导致转移-和HDFS-数据被删除.
因此,您可以尝试显式地删除HDFS数据,或者将表定义为hive的内部。
https://stackoverflow.com/questions/26360884
复制相似问题