我在使用Teradata的HCTAS过程在Hadoop中创建表时遇到麻烦。

我打电话给HCTAS创建表,

CALL SYSLIB.HCTAS('test_table',null,null,'myserver','default');
 *** Procedure has been executed.

但是当我尝试向该表中插入数据时,我获得了拒绝权限。
INSERT INTO test_table@myserver SELECT * FROM test_table;
 *** Failure 7810 [TblOp] Permission denied: user=myuser, access=WRITE, inod
 e="/apps/hive/warehouse/test_table":hive:hdfs:drwxr-xr-x
    at org.apache.hadoo
 p.hdfs.server.namenode.FSPermissionChecker.checkFsPermission(FSPermissionChec
 ker.java:265)
    at org.apache.hadoop.hdfs.s.
            Statement# 1, Info =0

我检查了Hadoop,发现该目录是使用所有者“hive”而不是“myuser”创建的。
drwxr-xr-x   - hive hdfs          0 2015-08-05 21:45 /apps/hive/warehouse/test_table

我应该怎么做才能以“myuser”作为所有者创建目录?

谢谢

最佳答案

第三个参数用于指定目录,尝试

CALL SYSLIB.HCTAS('test_table',null,'LOCATION "/usr/myuser"','myserver','default');

10-07 13:25