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