#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