MAPREDUCE服务 MRS-准备连接集群配置文件:Hive操作权限

时间:2023-12-29 15:44:10

Hive操作权限

在进行应用程序开发之前,使用的用户的基本权限要求是属于Hive组,额外操作权限需从系统管理员处获取,具体权限要求请参见表2。用户运行样例程序,需要在default数据库中有CREATE权限。

表2 操作权限要求

操作类型/作用对象

操作

权限要求

DATABASE

CREATE DATABASE dbname [LOCATION "hdfs_path"]

如果指定了HDFS路径hdfs_path,需要是路径hdfs_path的所有者和具有RWX权限。

DROP DATABASE dbname

拥有数据库dbname的所有权。

ALTER DATABASE dbname SET OWNER user_or_role

具有admin权限。

TABLE

CREATE TABLE table_a

拥有数据库的CREATE权限。

CREATE TABLE table_a AS SELECT table_b

拥有数据库的CREATE权限,对表table_b拥有SELECT权限。

CREATE TABLE table_a LIKE table_b

拥有数据库的CREATE权限。

CREATE [EXTERNAL] TABLE table_a LOCATION "hdfs_path"

拥有数据库的CREATE权限,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。

DROP TABLE table_a

是表table_a的所有者。

ALTER TABLE table_a SET LOCATION "hdfs_path"

是表table_a的所有者,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。

ALTER TABLE table_a SET FILEFORMAT

是表table_a的所有者。

TRUNCATE TABLE table_a

是表table_a的所有者。

ANALYZE TABLE table_a COMPUTE STATISTICS

对表table_a拥有SELECT和INSERT权限。

SHOW TBLPROPERTIES table_a

对表table_a拥有SELECT权限。

SHOW CREATE TABLE table_a

对表table_a拥有SELECT且带有WITH GRANT OPTION的权限。

Alter

ALTER TABLE table_a ADD COLUMN

是表table_a的所有者。

ALTER TABLE table_a REPLACE COLUMN

是表table_a的所有者。

ALTER TABLE table_a RENAME

是表table_a的所有者。

ALTER TABLE table_a SET SERDE

是表table_a的所有者。

ALTER TABLE table_a CLUSTER BY

是表table_a的所有者。

PARTITION

ALTER TABLE table_a ADD PARTITION partition_spec LOCATION "hdfs_path"

对表table_a拥有INSERT权限,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。

ALTER TABLE table_a DROP PARTITION partition_spec

对表table_a拥有DELETE权限。

ALTER TABLE table_a PARTITION partition_spec SET LOCATION "hdfs_path"

是表table_a的所有者,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。

ALTER TABLE table_a PARTITION partition_spec SET FILEFORMAT

是表table_a的所有者。

LOAD

LOAD INPATH 'hdfs_path' INTO TABLE table_a

对表table_a拥有INSERT权限,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。

INSERT

INSERT TABLE table_a SELECT FROM table_b

对表table_a拥有INSERT权限,对表table_b拥有SELECT权限。拥有Yarn的default队列的Submit权限。

SELECT

SELECT * FROM table_a

对表table_a拥有SELECT权限。

SELECT FROM table_a JOIN table_b

对表table_a、表table_b拥有SELECT权限,拥有Yarn的default队列的Submit权限。

SELECT FROM (SELECT FROM table_a UNION ALL SELECT FROM table_b)

对表table_a、表table_b拥有SELECT权限。拥有Yarn的default队列的Submit权限。

EXPLAIN

EXPLAIN [EXTENDED|DEPENDENCY] query

对相关表目录具有RX权限。

VIEW

CREATE VIEW view_name AS SELECT ...

对相关表拥有SELECT且带有WITH GRANT OPTION的权限。

ALTER VIEW view_name RENAME TO new_view_name

是视图view_name的所有者。

DROP VIEW view_name

是视图view_name的所有者。

FUNCTION

CREATE [TEMPORARY] FUNCTION function_name AS 'class_name'

具有admin权限。

DROP [TEMPORARY] function_name

具有admin权限。

MACRO

CREATE TEMPORARY MACRO macro_name ...

具有admin权限。

DROP TEMPORARY MACRO macro_name

具有admin权限。

  • 以上所有的操作只要拥有Hive的admin权限以及对应的HDFS目录权限就能做相应的操作。
  • 如果当前组件使用了Ranger进行权限控制,需基于Ranger配置相关策略进行权限管理。
support.huaweicloud.com/devg3-mrs/mrs_07_110048.html