1. 程式人生 > >SparkSQL利用HDFS的許可權控制表的讀許可權

SparkSQL利用HDFS的許可權控制表的讀許可權

Spark內建的thrift-server(連線hive)的對許可權管理支援得並不是很好,只支援了create/drop許可權的控制,但是任意使用者都可以讀任意庫/表,委實是一個問題。為了解決這個問題,可以用HDFS的檔案許可權控制來對錶的讀許可權進行控制。

1.新建使用者

由於Hive,HDFS都是用系統使用者來做許可權控制的,所以需要新建一個系統使用者。

比如新建一個mytest使用者,如下圖所示:


2.給hive表預設在hdfs中存入的路徑733許可權(rwxr-wx-wx),即mytest使用者可以在它下面新建表


3.利用beeline連線thrift-server,並用mytest使用者進行連線。同時建立一張tb_mytest表。


4.可以看到/user/hive/warehouse下的3張表


更改它們的許可權,讓dua1和tb_first只能被pijing和pijing所屬使用者組的人讀



5.此時,用beeline用mytest連線,讀取的結果如下:


可以看到,對於tb_mytest表有讀的許可權,而對於tb_first表則沒有讀的許可權。