hvie加載load本地數據失敗分析記錄
hive load本地數據由於用戶問題找不到文件
1. 問題背景
使用cloudera-cdh5平臺下的hive命令行
登錄centos的普通用戶爲xhwl,在~目錄下創建了一個文件:waning_case_info
hive中數據庫與表均已創建:masi_warning_case.warning_type_info
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該數據。