我们能否在蜂巢上的“文本文件”执行CRUD操作

问题描述 投票:1回答:1

我是一个新手,以Hadoop的,张贴这个问题我已经搜索谷歌和发现只用ORC文件中的所有CRUD操作示例之前。所以想知道,如果我们可以做同样的文本文件或任何变化,语法是必需的。提前致谢。

hive bigdata hiveql cloudera hortonworks-sandbox
1个回答
0
投票

在非ACID模式CRUD操作的典型模板:

C:插入物是相同的(可以是来自选)

INSERT INTO TABLE table_name VALUES... or SELECT FROM ...

R:这很简单

SELECT * FROM TABLE table_name WHERE ...

U:从自身覆盖使用选择整个表或分区(使用加入与从其他表中的值来更新)。使用CASE语句更新列。

INSERT OVERWRITE TABLE table_name [PARTITION(key=value)] 
SELECT --update columns using CASE
       case when col=some_value then some_other_value end as col,
       ...
       case when coln=some_value then some_other_value end as coln,
       col_x --not updated column
  FROM table_name [WHERE partition_key=value]
       JOIN...

d:这是使用选择从它本身与过滤器整个表或分区重写。可与更新相结合。

INSERT OVERWRITE TABLE table_name [PARTITION(key=value)] 
SELECT *
  FROM table_name [WHERE partition_key=value]
WHERE --Filter out records you want to delete

也请阅读这个答案约MERGE

查看Hive DML手册。

© www.soinside.com 2019 - 2024. All rights reserved.