繁体   English   中英

使用 Hive 更新/编辑 Hdfs 中的记录

[英]Update/Edit records in Hdfs using Hive

我在 HDFS 中有一些人的记录。 我在 Hive 中使用外部表来查看,对特定数据进行分析,我也可以在其他程序中外部使用它。

最近我有一个用例,我必须更新 HDFS 中的数据。 根据文档,我知道我们无法使用外部表更新或删除数据。

另一个问题是数据不是ORC格式。 它实际上是 TEXTFILE 格式。 所以我也无法更新或删除内部表中的数据。 由于它在生产中,我无法将其复制到任何地方以将其转换为 ORC 格式。 请建议我如何编辑 HDFS 中的数据。

您可以使用INSERT OVERWRITE更新或删除 + 使用过滤器和其他转换从自身中选择:

insert overwrite table mytable
select col1, --apply transformations here
       col2, --for example: case when col2=something then something_else else col2 end as col2
       ...
      colN
  from mytable
 where ... filter out records you want to delete 

这种方法适用于外部和托管以及所有存储格式。 只需编写返回所需数据集的选择并添加插入覆盖。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM