我们可以在配置单元中对“文本文件”执行crud操作吗

时间:2019-02-08 02:35:10

标签: hive bigdata hiveql cloudera hortonworks-sandbox

我是Hadoop的新手,在发布此问题之前,我已经在google上搜索并找到了只有ORC文件的所有crud操作示例。因此想知道我们是否可以对文本文件执行相同操作,或者是否需要对语法进行任何更改。 预先感谢。

1 个答案:

答案 0 :(得分:0)

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

C:插入是相同的(可以从select中选择)

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上的手册。