0

ガイドを順を追って説明しました。しかし、ロールに権限を付与しようとしたときにエラーが発生しました:

0: jdbc:hive2://localhost:10000/> GRANT ALL ON SERVER server1 TO ROLE admin_role;
Error: Error while compiling statement: FAILED: NullPointerException privilegeObj is null for 
TOK_GRANT
   TOK_PRIVILEGE_LIST
      TOK_PRIVILEGE
         TOK_PRIV_ALL
   TOK_PRINCIPAL_NAME
      TOK_ROLE
         admin_role
   TOK_PRIV_OBJECT
      TOK_SERVER_TYPE
         server1 (state=42000,code=40000)

beeline に hive としてログインしています。パスワードは正しく、ロールの作成は問題ありません。ロールを確認できます:</p>

0: jdbc:hive2://localhost:10000/> show roles;
+-------------+--+
|    role     |
+-------------+--+
| test        |
| admin_role  |
+-------------+--+

しかし、現在の役割を取得できません:

0: jdbc:hive2://localhost:10000/> show current roles;
+-------+--+
| role  |
+-------+--+
+-------+--+
4

2 に答える 2

0

このクエリは、ログインしているユーザー グループに割り当てられたすべてのロールを一覧表示します。

SHOW CURRENT ROLES;

あなたの場合、ユーザーハイブはグループハイブ(hdfs権限のグループ)に属していると思います。グループ ハイブにどのロールが付与されているかを確認できます。

SHOW ROLE GRANT GROUP hive;

admin_role が表示されない場合は、次のステートメントで付与できます。

GRANT ROLE admin_role TO GROUP hive;
于 2016-09-16T07:05:22.563 に答える