hive中插入数据select排除字段

现象

  1. 在执行insert into|overwrite ${tableName} partition(partCol=${value}) select xxx from ${tableName}时,select * 会把分区字段查出来,而insert部分不包含分区字段,此时需要在select列表中把分区字段排除。
  2. 有时又要把某列放在最后

举例

  1. 排除load_date列

     set hive.support.quoted.identifiers=none;
     INSERT OVERWRITE TABLE lzf.T_LOAD_DIMENSION partition (LOAD_DATE='20220430') 
     select `(load_date)?+.+` from zjdfc.T_LOAD_DIMENSION where load_date='20220524';
  2. 排除etl_date列,并把etl_date放到最后

     set hive.support.quoted.identifiers=none;
     select
     `(etl_date)?+.+`,etl_date
     from
         (select 
         row_number() over (partition by uid order by pay_time asc) as num
         ,*
         from order) first_order
     where num = 1;
  3. 排除etl_date和uid列

     set hive.support.quoted.identifiers=none;
     select
     `(etl_date|uid)?+.+`,etl_date
     from
         (select 
         row_number() over (partition by uid order by pay_time asc) as num
         ,*
         from order) first_order
     where num = 1;

其他

  1. 上面的 set hive.support.quoted.identifiers=none; 可以替换操作为:
    在 ‘hive-site.xml’ 中添加以下配置

    hive.support.quoted.identifiers=none


   转载规则


《hive中插入数据select排除字段》 SunnyZhifei 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
修改git commit用户信息 修改git commit用户信息
修改git commit用户信息
2022-08-02
下一篇 
valine评论系统邮件提醒 valine评论系统邮件提醒
简介 Valine:一款快速、简洁且高效的无后端评论系统 Valine-Admin: Valine 评论系统的扩展和增强,主要实现评论邮件通知、评论管理、垃圾评论过滤等功能 快速开始设置自定义环境变量需要设置云引擎的环境变量以提供必要的信
2022-07-29
  目录