gpt4 book ai didi

hadoop - Hive 外部表

转载 作者:可可西里 更新时间:2023-11-01 15:35:17 25 4
gpt4 key购买 nike

我正在尝试使用 sqoop 将数据从 Oracle 导入到 Hive。
我用过一次下面的命令,现在我想用新数据覆盖现有数据(每日操作)。
我再次运行了这个命令。

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 一样,我们是否必须在每次执行相同命令时都删除该文件?

如有任何帮助,我们将不胜感激。

最佳答案

当您从 EXTERNAL 表中删除时,您只会删除 Hive 元存储中的对象:您不会删除叠加在该表上的文件。非外部表仅属于 Hive,删除时将导致删除元存储 - AND HDFS 数据。

因此您可以尝试显式删除 HDFS 数据,或者将表定义为 hive 的内部表。

关于hadoop - Hive 外部表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26360884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com