Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

NIFI PutHiveQL Permission denied error : Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [svcda_nifi] does not have [SELECT] privilege on [default/values__tmp__table__4/*]

avatar
Explorer

79390-2018-07-04-17-11-50.png

79391-2018-07-04-18-07-30.png

79391-2018-07-04-18-07-30.png

hello everyone,

I created a data flow with NIFI, in which I put: SelectHiveQL ===> ConvertAvroToJSON ====> SplitJson ====> EvaluateJsonPath ===> ReplaceText ===> PutHiveQL. 

All the processors work well except the last "PutHiveQL" which shows me the following error. 

thank you in advance for your help
1 ACCEPTED SOLUTION

avatar
@SAD KHALED

Do provide this user "svcda_nifi" select permissions on default database.

Ref : https://community.hortonworks.com/content/supportkb/198363/errorfailed-hiveaccesscontrolexception-pe... for more details.

Hope this helps.

View solution in original post

4 REPLIES 4

avatar
@SAD KHALED

Do provide this user "svcda_nifi" select permissions on default database.

Ref : https://community.hortonworks.com/content/supportkb/198363/errorfailed-hiveaccesscontrolexception-pe... for more details.

Hope this helps.

avatar
Explorer

Hello @Sandeep Nemuri

If i understood corectly it is a problem about user access rights to the database.

I will contact the administrator of nifi.

I will try that , thank you 🙂

avatar

@SAD KHALED Please take a moment to click "Accept" if this answer helps you. 🙂

avatar
Explorer

Thank you @Sandeep Nemuri, it's helped me.

i found an other explanation which details the probem : https://community.hortonworks.com/questions/178176/hive-creation-of-temp-tables-in-default-database-...

" The problem seems to be around the default temporary table (at least, it is failing here before anything else). The query you make with the "VALUES" part work like this :

- it creates a temporary hive table with the line to be inserted

- it then queries that temporary table for inserting the data into the target table

From the output I see, the temporary table is created [default/values__tmp__table__3]. But the user does not have "select" permission on it.

I guess that a workaround would be to grant "SELECT" on the database "default" but this could bring some security issues for you (since the user will have read permission on all the tables inside "default"). "