刪除分區(qū)語句
ALTER TABLE dws_db.dws_ccrm_dim_attr_spec_xxx DROP PARTITION(day_id='20200207');
拋出如下異常:
FAILED: Execution Error, return code 1 from org.Apache.hadoop.hive.ql.exec.DDLTask.
Table partition not deleted since
hdfs://nas2/domains/nas2/hxxt_yx/dws_db.db/dws_ccrm_dim_attr_spec_xxx
is not writable by [email protected]
根據(jù)這個異常信息查找hive源碼,拋出異常代碼如下:

就是在刪除表分區(qū)時會去校驗分區(qū)的父目錄也就是表是否有寫的權限,如果沒有權限,那么就會拋出如上異常。
查看這個表和分區(qū)的權限,權限如下

發(fā)現(xiàn)這個表的屬主和分區(qū)屬主不一樣,這個刪除用戶沒有這個表的寫權限。
解決辦法:
解決辦法以下一種:1、把這個表屬主改成hxxt_yx 2、把hxxt_yx用戶加到用戶組