СБОЙ: отказано в разрешении HiveAccessControlException: Участник [name=user1, type=USER] не имеет следующих привилегий для операции CREATETABLE

#azure #hive #hiveql #azure-hdinsight

#azure #улей #hiveql #azure-hdinsight

Вопрос:

Я пытаюсь создать таблицу с помощью запроса hive create и получаю приведенную ниже ошибку-

 Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: Principal [name=username, type=USER] does not have following privileges for operation CREATETABLE [[OBJECT OWNERSHIP] on Object [type=DATABASE, name=dbname]] (state=42000,code=40000)
  

Я пытался предоставить grant createtable, но, похоже, это недействительный грант, Как мы можем предоставить разрешение на создание таблицы пользователю hive, мы не хотим предоставлять доступ к удаленной базе данных, поэтому не можем добавить пользователя в роль владельца.

Комментарии:

1. Это вызвано отсутствием достаточных разрешений для базы данных. Пользователю, создающему таблицу Hive, необходимы разрешения на чтение, запись и выполнение в базе данных. Когда вы говорите «это недействительное разрешение», как вы предоставляете разрешения и, пожалуйста, поделитесь более подробной информацией о шагах, которые вы пытаетесь?

2. 0: jdbc: hive2://сервер hiveserver2:10001/default> предоставить CREATETABLE пользователю user1; Ошибка: Ошибка при обработке инструкции: СБОЙ: Ошибка выполнения, возвращает код 1 из org.apache.hadoop.hive.ql.exec.DDLTask. Неподдерживаемый тип привилегии CREATETABLE (состояние= 08S01, код= 1) 0: jdbc: hive2://сервер hiveserver2:10001/по умолчанию>

Ответ №1:

Вы используете неправильный тип привилегий, CREATETABLE вот почему вы получаете это сообщение об ошибке Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unsupported privilege type CREATETABLE (state=08S01,code=1) .

Поддерживаемые типы привилегий:

 ALL Privileges

ALTER

Create

Create view

Delete

Drop

Index

Insert

Lock Tables

Select

Show databases

Super
  

Руководство по языку Apache Hive Ссылка:.

Комментарии:

1. 0: jdbc: hive2://сервер hiveserver2:10001/по умолчанию> предоставить создание базы данных в базе данных пользователю user1; Ошибка: Ошибка при обработке инструкции: СБОЙ: Ошибка выполнения, возвращает код 1 из org.apache.hadoop.hive.ql.exec.DDLTask. Неподдерживаемый тип привилегии СОЗДАТЬ (состояние=08S01, код=1) 0: jdbc:hive2://сервер hiveserver2:10001/по умолчанию>

2. Вы можете ознакомиться с этим блогом, в котором объясняется, как предоставлять разрешения для таблиц улья: hadooptutorial.info/hive-authorization-models-and-hive-security