Hi,

  I'm using the hive.ql.driver class in my application to perform some DDL 
tasks(in Cloudera 5.0, which is a Hive 0.12 with a number of 0.13 patches, 
although I have also verified the same issue in 0.13), and I am running into a 
permissions problem I don't understand.

  The following code:


Driver driver = new Driver(conf, "nbamford");
try {
driver.run("create table permtest (id int, value string)");
driver.run("truncate table permtest");
driver.run("drop table permtest");
} catch (CommandNeedRetryException e) {
e.printStackTrace();
}

Results in success creating and dropping the table, but the truncate command 
returns: Permission denied by sticky bit setting: user=nbamford, inode=permtest.

When I look at the permtest? table, it show it's owned by user hive:

drwxr-xr-x   - hive hdfs          0 2014-10-16 10:51 
/apps/hive/warehouse/permtest

So, as far as I can tell, when I issue the table create and drop commands, I am 
user hive, but when I try the truncate command, I am user nbamford.

Am I misusing the driver class? Or is this expected behavior?

Thanks,

Nathan

Reply via email to