从只读文件夹创建HIVE外部表

时间:2018-09-04 07:43:32

标签: hadoop hive hdfs external

我可以访问Hadoop集群,而我可以只读访问数据所在的hdfs文件夹(在本例中为/ data / table1 / data_PART0xxx)。我想建立一个HIVE EXTERNAL表,这将为我提供查询数据的简便方法。

因此,我创建了一个表,如下所示:

CREATE EXTERNAL TABLE myDB.Table1 (column1 STRING, column2 STRING, column3 STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
 "input.regex" = "(.{10})(.{16})(.{10})"
 )
LOCATION '/data/table1';

但是,它给了我错误:

  

错误:编译语句时出错:失败:HiveAccessControlException权限被拒绝:用户[my_user]对[hdfs:// hadoopcluster / data / table1]不具有[ALL]特权(状态= 42000,代码= 40000)

据我了解,我无权写任何东西,但是我该怎么做,以便将该表明确定义为只读?

编辑:我知道我可以将其设置为 CREATE TEMPORARY EXTERNAL TABLE ... ,但是我想有一个更永久的解决方案。此外,我也没有特权将文件夹/ data / table1设置为777模式。没有办法告诉HIVE,该表仅用于查询,不会再添加任何数据(至少不是通过HIVE) )。

编辑:此外,自2009年以来,我已经看到JIRA ticket设置为重要,但仍未解决。

0 个答案:

没有答案