精华内容
下载资源
问答
  • hive分区表添加字段
    千次阅读
    2022-01-19 17:50:16

    结尾加上CASCADE好像就不需要刷新历史分区元数据了?

    ALTER TABLE Database.TableName ADD COLUMNS(col1  STRING  COMMENT '备注1') CASCADE;
     

    更多相关内容
  • 一般由于业务需要,会对hive有增加字段的操作,如下: ALTER TABLE 库名.表名 add columns (字段名...1、直接在添加字段的时候加上 CASCADE ALTER TABLE 库名.表名 add columns (字段名 字段类型 comment '注释') .

    在这里插入图片描述
    一般由于业务需要,会对hive的表有增加/修改字段的操作,如下:

    ALTER TABLE 库名.表名 add columns (字段名 字段类型  comment '注释') ; -- 添加字段
    ALTER TABLE 库名.表名 change column 原字段名  新字段名 字段类型 ; -- 修改字段操作
    

    但是上面这种语法只能是对表的当前和以后新的分区生效,若存在历史分区,那么MySQL上的元数据信息没有修改。
    若查询历史分区,就会报上面的return code 2
    解决方案:
    1、直接在添加字段的时候加上 CASCADE

    ALTER TABLE 库名.表名 add columns (字段名 字段类型  comment '注释')  cascade ;
    -- 针对修改字段类型的 仅仅加cascade不能解决,这里只是修改了hive的元数据,不会变更hdfs文件,需要重新同步一遍,或者将数据重新插一遍
    ALTER TABLE 库名.表名 change column 原字段名  新字段名 字段类型  cascade ; 
    

    官方给出解释:cascade的中文翻译为“级联”,也就是不仅变更新分区的表结构(metadata),同时也变更旧分区的表结构
    2、若没加CASCADE已经修改了表结构了,可以在查询时设置下面参数

    set hive.vectorized.execution.enabled=false;--关闭矢量查询
    set hive.vectorized.execution.reduce.enabled=false;
    
    展开全文
  • hive sql 添加字段以及修改字段

    千次阅读 2021-01-28 15:16:35
    1.hive新增字段 sql格式: ALTER TABLE 表名 ADD COLUMNS (新增字段名 string comment ‘描述’); 2.hive修改字段名,字段类型,描述等 sql格式: ALTER TABLE 表名 CHANGE COLUMN 旧字段名 新字段名 ...

    1.hive新增字段

    sql格式:

    ALTER TABLE  表名 ADD COLUMNS (新增字段名 string comment ‘描述’);

     

    2.hive修改字段名,字段类型,描述等

    sql格式:

    ALTER TABLE 表名 CHANGE COLUMN 旧字段名 新字段名  STRING COMMENT '描述';

    展开全文
  • 问题描述今天同事让我把订单新增一个字段,我新增好字段后,重跑脚本,验证数据的时候发现新增加的那个字段的值都是NULL。脚本通过insert overwrite覆盖T+1的历史数据。新增字段的sql是这样的altertable app.app_...

    问题描述

    今天同事让我把订单表新增一个字段,我新增好字段后,重跑脚本,验证数据的时候发现新增加的那个字段的值都是NULL。脚本通过insert overwrite覆盖T+1的历史数据。

    新增字段的sql是这样的

    altertable app.app_tar_order_dt addcolumns(brand_name stringCOMMENT'品牌名称');

    解决方案

    (1)将新增字段的sql改成如下所示,然后执行insert overwrite,再查询发现新增字段有数据了。

    altertable app.app_tar_order_dt addcolumns(brand_name stringCOMMENT'品牌名称') cascade;

    (2)通过对分区添加字段的方式,将新增字段的sql改成这样如下所示:

    altertable app.app_tar_order_dt partition(dt='2020-09-10') add columns(brand_name stringCOMMENT'品牌名称');

    (3)可以先将分区删除,然后重新insert overwrite,这样新的字段也会有值。

    altertable app.app_tar_order_dt droppartition(dt='2020-09-10');

    官方文档描述如下

    The CASCADE|RESTRICT clause is available in Hive 1.1.0. ALTER TABLE ADD|REPLACE COLUMNS with CASCADE command changes the columns of a table's metadata, and cascades the same change to all the partition metadata. RESTRICT is the default, limiting column changes only to table metadata.

    简单解释下,在Hive 1.1.0版本中可以使用CASCADE和RESTRICT语法,默认情况下是RESTRICT语法,RESTRICT语法只能更新表的元数据;而使用CASCADE语法的命令能同时更新表和分区元数据。

    注意:默认的RESTRICT语法对新分区没有影响,新增字段之后,如果是生成新的分区,新增字段会有值,Hive会自动维护新分区中的元数据。

    展开全文
  • hive中如何新增字段

    千次阅读 2021-09-09 15:24:00
    1、方法1 alter table 表名 add columns (列名 string COMMENT '新添加的列') CASCADE; 与alter table 表名 add columns...CASCADE会刷历史分区字段 2、方法2 (适用于外部) 当分区过多的情况下,直接适用 ...
  • 第一步:在hive元数据中的sds找到字段增加后新分配的字段组ID(CD_ID,的所有字段对应一个CD_ID字段值),如:SELECT * FROM sds WHERE location LIKE '%table_name%' 第二步:在SDS中可以看到新分配的字段组值(CD...
  • 这导致Hive表结构也需要跟着变化,否则无法通过Hive查询到最新添加字段的数据。 解决办法:  为数据表添加字段,字段必须添加到已有字段的最后面。因为已经存在的数据是按照之前的结构写入到HDFS文件中的,当...
  • hive表新增字段,修改字段的注释 (1)创建测试: use mart_flow_test; create table if not exists mart_flow_test.detail_flow_test ( union_idstringcomment '设备唯一标识' ) comment '测试' partitioned ...
  • Hive分区增加字段重跑数据,为何增加的字段无数据 问题描述: 得到一个需求,需要在原来的上增加字段,增加字段,ok很正常,直接add columns(xxx string),然后就开始重跑数据了,跑完后发现其他数据正常,就刚...
  • hive添加字段

    2021-02-24 17:06:27
    hive (test)> alter table lx add columns(id string); OK Time taken: 0.25 seconds hive (test)> alter table lx add columns(name string,xb string); OK Time taken: 0.197 seconds
  • HIVE增加一个字段

    千次阅读 2020-12-18 09:56:49
    分两步,先添加字段到最后(add columns),然后再移动到指定位置(change) 点击(此处)折叠或打开 alter table table_name add columns (c_time string comment '当前时间'); -- 正确,添加在最后 alter table ...
  • hive表新增字段或者修改字段

    千次阅读 2020-12-09 15:52:27
    1. hive表操作 1. 修改表字段的数据类型或者修改表字段名字 #如果是外部,需要先修改为内部 alter table 数据库名.表名set tblproperties('EXTERNAL' = 'FALSE'); ALTER TABLE 数据库名.表名 CHANGE ...
  • hive添加字段到指定位置不能一步到位,需要分两步,先添加字段,再移动字段到指定位置,如下 alter table tmp add columns (cl_name string comment 'co_name'); --添加在最后 alter table tmp change cl_name cl_...
  • Hive分区新增字段数据显示为NULL

    千次阅读 2018-06-22 13:56:24
    hive的分区在新增字段后,新增字段的数据显示NULL。hive分区新增字段,新分区表字段能够显示,老的分区表字段无法显示,在hdfs上显示正常。 测试具体情况: 1、创建一个测试 2、插入一条数据 ...
  • 1.增加字段后直接查看文件有值,但是hsq查出来就没有值,但是impala查询是有值的 hive建表语句 CREATE EXTERNAL TABLE nretail_ability_order.retail_report ( sub_order_no STRING COMMENT '订单号', order_source ...
  • hive分区增加字段

    千次阅读 2021-06-05 15:05:17
    hive分区增加列 新增的列会以null展示 插入数据后还是显示null 如果放到第二天的分区,就能查出数据
  • 本篇教程探讨了大数据技术 Hive分区动态添加字段,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。<场景描述:公司埋点项目,数据从接口服务写入kafka集群,再从kafka集群消费写入...
  • Hive分区新增字段

    2021-04-21 19:42:58
    Hive分区新增字段 ALTER TABLE gdm.gdm_wt_minute ADD COLUMNS(turst4 Int); 有分区的话要指定是哪个分区,我这个的分区是按天分的,所以每个分区都要指定一下. 注意: 要先切换到该库 再执行. use gdm; alter ...
  • Hive表如何添加字段和修改注释

    万次阅读 2018-08-17 12:52:06
    --1.语法 alter table 表名 add columns (列名 类型 [comment '注释']);...--添加单个字段 alter table bron_lpss_lpss_order_info_cur add columns(account_type string); --添加多个字段 alter table bron_lpss...
  • hive在已有表添加或删除字段时 若该已在某个脚本中有insert语句,一定要把脚本中对应的insert语句进行修改适配,否则脚本就会运行失败。 另外hive插入数据需要完全按照hive表中列的创建顺序来进行,并且数据的各个...
  • Hive 分区增加字段并赋值

    千次阅读 2021-10-11 17:44:45
    今天就把在分区添加字段的坑分享出来,避免再次踩坑。 背景 今天接到一个需求,在原有的 hive 分区中需要添加一个字段,并且原来的数据中这个字段还是需要赋值。后续这个值是由 ETL 任务去拉取的,所以只需要...
  • HIVE 自定义字段插入数据环境介绍只插入自定义字段(单条数据插入)只插入自定义字段(多条数据插入) 环境介绍 ① 环境说明 HIVE 2.1.0 + Hadoop 2.7.5 ② 文章参考 HIVE INSERT 说明 只插入自定义字段(单条数据...
  • 由于近期业务需要,需...再往改分区插入数据后,通过hive查询查不到改字段的值。 问题解决: 如果是按日期分区的,不会出现这问题,因为再第二天往里写的时候会刷新分区数据。 不是日期分区的,需要手动刷...
  • Hive添加或删除字段

    千次阅读 2020-12-21 17:08:22
    官方文档关于Add/ReplaceColumns操作的说明// 创建测试CREATE TABLE IF NOT EXISTS test (id BIGINT, name STRING);// 插入一条数据INSERT INTO TABLE ...// 添加字段ALTER TABLE test ADD COLUMNS(age Int);// ...
  • 对于旧的分区的可正常查询,新加的字段值为空。但是旧的分区的数据无法插入或更新,新的分区可正产插入和查询。 方案2: ALTER TABLEtbl_oper_in_flow add columns(less_recovery double,remark1 str...
  • hive 添加字段,字段值错位问题

    千次阅读 2021-11-02 17:28:00
    hive中在结构中添加字段,并将字段指定到于业务库相对的位置: alter table ods_test.ods_ppy_op_op_supplier_goods_quote_apply add columns (storage_id bigint comment '仓库id') cascade; alter table ods_...
  • hive 分区新增字段 刷新字段

    千次阅读 2022-01-25 17:14:17
    hive当天分区新增了字段,查询发现全是null 1、删除分区 ALTER TABLE test DROP PARTITION (dt='20220125'); 2、查看分区路径 desc formatted ods.test partition(dt='20220124'); 3、重建分区 ALTER TABLE ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,269
精华内容 7,707
关键字:

hive表添加字段

友情链接: codes.zip