1、往表中插入数据
1.1带有分区的表(包括txt表和orc表)
insert INTO table analysis.flow_predict_bata select "2020-05-23 00:00:00","12312","23423" FROM system.dual;
1.2不带有分区的表(包括txt表和orc表)
insert INTO table analysis.flow_predict_bata select "2020-05-23 00:00:00","12312","23423" FROM system.dual;
2、删除表中数据
2.1带有分区的表
2.1.1删除部分数据
delete from table analysis.flow_predict_bata where cmdate >= '2020-05-23';
2.1.2删除全部数据
truncate table analysis.flow_predict_bata;
说明:外表(external)属于non-managed表,无法执行truncate操作,需要直接去删除外表在hdfs底层中的文件。
2.2不带有分区的表
2.2.1删除部分数据
delete from table analysis.flow_predict_bata where cmdate >= '2020-05-23';
2.2.2删除全部数据
truncate table analysis.flow_predict_bata;
3、更改表中数据
3.1带有分区的表(包括txt表和orc表)
SET hive.exec.dynamic.partition=true;
INSERT OVERWRITE TABLE analysis.cmordermonth PARTITION(cmmonthtime) select "2020", "03", "100", "100", "10", "2020-03" from system.dual;
会覆盖分区字段值对应的记录,如果分区字段只有一个值则覆盖该值,若是分区字段相同值的记录不止一个,则只留一条记录,为覆盖的记录。
3.2不带有分区的表
INSERT OVERWRITE TABLE analysis.cmordermonth select "2020", "03", "100", "100", "10", "2020-03" from system.dual;
会覆盖所有数据,只留一条记录。