文件屬主不同導致hive加載本地數據失敗

hvie加載load本地數據失敗分析記錄

hive load本地數據由於用戶問題找不到文件

1. 問題背景

使用cloudera-cdh5平臺下的hive命令行
登錄centos的普通用戶爲xhwl,在~目錄下創建了一個文件:waning_case_info
hive中數據庫與表均已創建:masi_warning_case.warning_type_info
sudosuroot su hdfs
進入hdfs用戶
$ hive
進入hive

2. 出錯


hive>load data local inpath '/home/xhwl/warning_type_info' into table masi_warning_case.warning_type_info;
FAILED: SemanticException Line 1:23 Invalid path ''/home/xhwl/warning_type_info'': No files matching path file:/home/xhwl/warning_type_info

3. 出錯分析

根據上述提示得知:找不到文件
實際上文件是存在的,那爲什麼找不到?因爲文件waning_case_info不是hdfs用戶創建的,hdfs訪問不到,最終導致load數據到hive表出錯

4. 解決

使用xhwl這個普通用戶進入hive,執行load數據操作load data local inpath ‘/home/xhwl/warning_type_info’ into table masi_warning_case.warning_type_info;即可
或者使用sudo chown hdfs:hdfs warning_type_info
將這個文件的屬主和屬組改成hdfs用戶,也可以使用hdfs用戶進入hive成功load該數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章