[英]Hive External Table
我正在嘗試使用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
我在蜂巢中創建的表都是外部表。 像mapreduce一樣,是否每次執行同一命令時都必須刪除該文件?
任何幫助將不勝感激。
當您從EXTERNAL
表中刪除時,您只會刪除Hive Metastore中的對象:您不會刪除該表所疊加的文件。 一個非外部表僅屬於Hive,並且在刪除后將導致刪除元存儲和 HDFS數據。
因此,您可以嘗試顯式刪除HDFS數據,或將表定義為配置單元內部。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.