I need to run ODI File to Hive IKM on BDA machine.
ODI agent is running with user "Oracle" , Hive is running with user Hive.
I created the Hive table and on HDFS its permissions are drwxr-xr-x as default.
When I run hive command
LOAD DATA '...path' into table mytable
from hive command shell, it runs perfectly.
When I use the IKM File To Hive and run it from the agent(the same command is issued by the agent), it gives an exception and I can see from the log that user "oracle" can not write to hive table's directory in /user/hive/warehouse.
Exact error is:
Failed with exception Permission denied: user=hive, access=WRITE, inode="/user/oracle/OraclePOC/input/RES_xfrm_msisdn_test":oracle:hadoop:drwxr-xr-x
Is there a best practice to solve this?(Hive and ODI agent running as seperate users)
for those who are interested, I solved the problem below , it was file permissions of the loaded file.
Hive moves the input file from its original path to its warehouse directory.
In order to move the file, the agent needs write permissions on HDFS input directory. When I gave the permission, it was solved.