刪除分區語句
ALTER TABLE dws_db.dws_ccrm_dim_attr_spec_xxx DROP PARTITION(day_id='20200207');
拋出如下異常:
<code>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]/<code>
根據這個異常信息查找hive源碼,拋出異常代碼如下:
就是在刪除表分區時會去校驗分區的父目錄也就是表是否有寫的權限,如果沒有權限,那麼就會拋出如上異常。
查看這個表和分區的權限,權限如下
發現這個表的屬主和分區屬主不一樣,這個刪除用戶沒有這個表的寫權限。
解決辦法:
解決辦法以下一種:1、把這個表屬主改成hxxt_yx 2、把hxxt_yx用戶加到用戶組