区分insert into 和 insert overowrite: 

0、

命令格式

...)]
select_statement
FROM from_statement;

参数说明

  • tablename:需要插入数据的目标表名称。
  • PARTITION (partcol1=val1, partcol2=val2 ...):需要插入数据的分区名称,此参数不允许使用函数等表达式,只能是常量。
  • select_statement:SELECT子句,从源表中查询需要插入的数据。
  • from_statement:FROM子句,代表数据来源。例如,源表名称。

功能说明

INSERT OVERWRITE/INTO用于将计算的结果保存目标表中。
  • insert into:直接向表或表的分区中追加数据。
  • insert overwrite:先清空表中的原有数据,再向表或分区中插入数据。

示例

  • sale_detail_insert中。
     
    --创建目标表sale_detail_insert。
    create table sale_detail_insert like sale_detail;
    
    --给目标表增加分区。
    alter table sale_detail_insert add partition(sale_date='2013', region='china');
    
    --从源表sale_detail中取出数据插入目标表sale_detail_insert。
    insert overwrite table sale_detail_insert partition (sale_date='2013', region='china')
      select shop_name, customer_id,total_price from sale_detail;
  • select子句中列的顺序,而不是表与表之间列名的对应关系。例如如下语句。
     
    insert overwrite table sale_detail_insert partition (sale_date='2013', region='china')
        select customer_id, shop_name, total_price from sale_detail;                      

    sale_detail_insert.customer_id。

  • sale_date,region为分区列,不允许出现在静态分区的insert语句中。
     
    insert overwrite table sale_detail_insert partition (sale_date='2013', region='china')
       select shop_name, customer_id, total_price, sale_date, region  from sale_detail;
  • partition的值只能是常量,不可以出现表达式。以下为错误用法。
     
    insert overwrite table sale_detail_insert partition (sale_date=datepart('2016-09-18 01:10:00', 'yyyy') , region='china')
       select shop_name, customer_id, total_price from sale_detail;

使用动态分区注意事项

如果您需要更新表数据到动态分区,请注意以下事项:
  • insert into partition时,如果分区不存在,会自动创建分区。
  • insert into partition作业并发时,如果分区不存在,会自动创建分区,但只会成功创建一个分区。
  • insert into partition作业并发,则只能通过预创建分区避免问题。

 


1、insert into 语句

Hive> insert into table account select id,age,name from account_tmp;

2、insert overwrite语句

hive> insert overwrite table account2 select id,age,name from account_tmp;
--------------------

overwrite本质是覆盖现有数据!!!!(清空原有数据,新增查询数据),而into是直接将数据写入库。

 

 

参考:

https://blog.csdn.net/paopaopotter/java/article/details/83616295

https://blog.csdn.net/qq_41582642/article/details/82897424

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-05
  • 2021-09-16
  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
  • 2021-07-29
相关资源
相似解决方案