Hive - 从其他用户删除表

时间:2017-06-21 08:06:26

标签: permissions hive hdfs cloudera

我有一个蜂巢问题。我正在使用cloudera测试集群并禁用权限管理,因此Hive中没有ACL处理。 现在我可以删除另一个用户的表。之后,Hive Metastore中不存在该表。问题是,hdfs中的文件还存在。 因此,如果我再次创建相同的表,则会填充旧数据,因为相同的hdfs镶木地板文件。

所有用户都在群组配置单元中。 所有db文件都被授予以下权限:rwxrwxrwt

我必须更改完全删除表格,包括hdfs数据?

提前致谢。

祝你好运 JORN

2 个答案:

答案 0 :(得分:0)

您必须前往Hue,文件浏览器并输入数据所在的路径,您可以删除它或将其移至废纸篓。

答案 1 :(得分:0)

表格如下:

CREATE TABLE `schema.mytable`(
  `sysdate` string, 
  `sai` double, 
  `art_nr` double,  
  `fakturierf_kz` double, 
  `vek` double, 
  `bek` double)
PARTITIONED BY ( 
  `p_import_date` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  'hdfs://servername:8020/user/hive/warehouse/mydb.db/mytable'
TBLPROPERTIES (
  'parquet.compress'='SNAPPY', 
  'transient_lastDdlTime'='1480519730');

当然我可以用

删除shell中的文件
hdfs dfs -rm -r myfolder

但这并不是真的有用。我想从其他用户那里删除一个表,就像用户那样。

谢谢