Required Permissions
Before developing an application based on this guide, ensure that the basic permissions of the users belong to a Hive group and obtain additional operation permissions from the system administrator. Table 1 describes the permission required for each operation. To run example programs, you must have the create permission for the default database.
| Operation Type/Functional Object | Operation | Required Permission |
|---|---|---|
| DATABASE | CREATE DATABASE dbname [LOCATION "hdfs_path"] | If the HDFS path hdfs_path is specified, the ownership and RWX permission of hdfs_path are required. |
| DROP DATABASE dbname | The database dbname ownership is required. | |
| ALTER DATABASE dbname SET OWNER user_or_role | The admin permission is required. | |
| TABLE | CREATE TABLE table_a | The create permission for the database is required. |
| CREATE TABLE table_a AS SELECT table_b | The create permission for the database and the select permission for table_b are required. | |
| CREATE TABLE table_a LIKE table_b | The create permission for the database is required. | |
| CREATE [EXTERNAL] TABLE table_a LOCATION "hdfs_path" | The create permission for the database, and the ownership and RWX permission of hdfs_path on HDFS are required. | |
| DROP TABLE table_a | The ownership of table_a is required. | |
| ALTER TABLE table_a SET LOCATION "hdfs_path" | The ownership of table_a, and the ownership and RWX permission of hdfs_path on HDFS are required. | |
| ALTER TABLE table_a SET FILEFORMAT | The ownership of table_a is required. | |
| TRUNCATE TABLE table_a | The ownership of table_a is required. | |
| ANALYZE TABLE table_a COMPUTE STATISTICS | The select and insert permission for table_a is required. | |
| SHOW TBLPROPERTIES table_a | The select permission for table_a is required. | |
| SHOW CREATE TABLE table_a | The select permission with grant option for table_a is required. | |
| Alter | ALTER TABLE table_a ADD COLUMN | The ownership of table_a is required. |
| ALTER TABLE table_a REPLACE COLUMN | The ownership of table_a is required. | |
| ALTER TABLE table_a RENAME | The ownership of table_a is required. | |
| ALTER TABLE table_a SET SERDE | The ownership of table_a is required. | |
| ALTER TABLE table_a CLUSTER BY | The ownership of table_a is required. | |
| PARTITION | ALTER TABLE table_a ADD PARTITION partition_spec LOCATION "hdfs_path" | The insert permission for table_a, and the ownership and RWX permission of hdfs_path on HDFS are required. |
| ALTER TABLE table_a DROP PARTITION partition_spec | The delete permission for table_a is required. | |
| ALTER TABLE table_a PARTITION partition_spec SET LOCATION "hdfs_path" | The ownership of table_a, and the ownership and RWX permission of hdfs_path on HDFS are required. | |
| ALTER TABLE table_a PARTITION partition_spec SET FILEFORMAT | The ownership of table_a is required. | |
| LOAD | LOAD INPATH 'hdfs_path' INTO TABLE table_a | The insert permission for table_a, and the ownership and RWX permission of hdfs_path on HDFS are required. |
| INSERT | INSERT TABLE table_a SELECT FROM table_b | The update permission for table_a and select permission for table_b are required. |
| SELECT | SELECT * FROM table_a | The select permission for table_a is required. |
| SELECT FROM table_a JOIN table_b | The select permission for table_a and table_b, the Submit permission of the default Yarn queue is required. | |
| SELECT FROM (SELECT FROM table_a UNION ALL SELECT FROM table_b) | The select permission for table_a and table_b, the Submit permission of the default Yarn queue is required. | |
| EXPLAIN | EXPLAIN [EXTENDED|DEPENDENCY] query | The RX permissions for related table directory is required. |
| VIEW | CREATE VIEW view_name AS SELECT ... | The select permission with grant option for related tables is required. |
| ALTER VIEW view_name RENAME TO new_view_name | The ownership of view_name is required. | |
| DROP VIEW view_name | The ownership of view_name is required. | |
| INDEX | CREATE INDEX index_name ON TABLE base_table_name (col_name, ...) AS index_type | The ownership of table_a is required. |
| DROP INDEX index_name ON table_name | The ownership of index_name is required. | |
| ALTER INDEX index_name ON table_name REBUILD | The ownership of index_name is required. | |
| FUNCTION | CREATE [TEMPORARY] FUNCTION function_name AS 'class_name' | The admin permission is required. |
| DROP [TEMPORARY] function_name | The admin permission is required. | |
| MACRO | CREATE TEMPORARY MACRO macro_name ... | The admin permission is required. |
| DROP TEMPORARY MACRO macro_name | The admin permission is required. |
- You can perform all the previous operations when owning the admin permission of Hive and the corresponding directory permission of HDFS.
- If the current component uses Ranger for permission control, you need to configure permission management policies based on Ranger. For details, see Adding a Ranger Access Permission Policy for Hive.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.