精华内容
下载资源
问答
  • 2020-05-18 14:01:16

                                 hive表新增字段和字段注释修改

    alter table bi.mei_ike_trans_monthly_detail_i_m ADD COLUMNS (currency STRING COMMENT 'BIZHONG');

     

    更多相关内容
  • Hive分区表增加字段重跑数据,为何增加的字段无数据 问题描述: 得到一个需求,需要在原来的增加字段增加字段,ok很正常,直接add columns(xxx string),然后就开始重跑数据了,跑完后发现其他数据正常,就刚...

    项目场景:

    Hive分区表增加字段重跑数据,为何增加的字段无数据

    问题描述:

    得到一个需求,需要在原来的表上增加字段,增加字段,ok很正常,直接add columns(xxx string),然后就开始重跑数据了,跑完后发现其他数据正常,就刚添加的字段无数据。
    在这里插入图片描述


    原因分析:

    • 数据本身
    • 添加字段失败
    • 分区未检测到

    自己更倾向第三种

    解决方案:

    其实最后就是分区的问题:

    • 大家了解了解Hive,就知道,当他建立了一个分区表后,就会为其指定一个分区id,当我们在对这个分区表进行表结构的操作时候,该分区id并未更新,所以该分区还是记住了以前的字段,这就导致了我们录入数据不成功的原因
    • 这个bug是如何产生的呢,emmm,举个例子,现在的时间20211216,假设我们对其几天前的分区表进行操作,就操作20211210的时候的,直接对分区表进行增加字段,就出现了
    • 有效的解决方法是,你可以删除该分区,然后进行重建,或者取更新该分区都是不错的方法。
    • 这里不推荐删除的方法,假如存在数据很重要,删除的数据就回不来了,可以考虑创建一个另外一个表,把数据导入到那张表中,在进行操作。

    在这里插入图片描述

    展开全文
  • 一般由于业务需要,会对hive增加字段的操作,如下: 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分区表增加字段

    千次阅读 2021-06-05 15:05:17
    hive分区表增加列 新增的列会以null展示 插入数据后还是显示null 如果放到第二天的分区,就能查出数据

    hive分区表增加列
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    新增的列会以null展示
    在这里插入图片描述
    在这里插入图片描述
    插入数据后还是显示null,但是在presto中还是能查到数据的,应该是和hive的表结构有关,修改Hive分区表结构以后,元数据库中的SDS中该表对应的CD_ID会改变,但是该表分区下面对应的CD_ID还是原来表的CD_ID。SDS表主要保存文件存储的基本信息,如INPUT_FORMAT、OUTPUT_FORMAT、是否压缩等
    所以,要取mysql修改元数据,具体看这里添加链接描述
    在这里插入图片描述
    在这里插入图片描述
    如果放到第二天的分区,就能查出数据
    在这里插入图片描述

    后来看到官方说hive分区表在加字段时要加一个cascade
    alter table test add columns(fs string comment ‘分数’)cascade;
    这要就能生效了

    drop table if exists test;
    
    create  table test(
    `name` string COMMENT '姓名',
    `age` string COMMENT '年龄'
    ) COMMENT '1'
    PARTITIONED BY (dt string)
    stored as parquet
    LOCATION '/warehouse/yizun/dwd/test'
    TBLPROPERTIES('parquet.compression'='lzo');
    
    insert  into table  test partition(dt='2021-06-04') values('zs','15');
    
    #alter table test add columns(fs string comment '分数');
    alter table test add columns(fs string comment '分数')cascade;
    
    insert  into table  test partition(dt='2021-06-04') values('ls','18','99');
    
    insert  into  table test partition(dt='2021-06-05') values('ww','10','66');
    
    展开全文
  • [1142]hive中如何新增字段

    千次阅读 2022-05-19 21:51:40
    文章目录新增字段1、方法1cascade知识2、方法2 (适用于外部)3、方法3(下下策)修改字段删除列 ...hive表中指定位置增加一个字段 分两步,先添加字段到最后(add columns),然后再移动到指定位置(change)
  • HIVE增加一个字段

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

    千次阅读 2021-09-09 15:24:00
    1、方法1 alter table 表名 add columns (列名 string COMMENT '新添加的列') CASCADE; 与alter table 表名 add columns...CASCADE会刷历史分区字段 2、方法2 (适用于外部) 当分区过多的情况下,直接适用 ...
  • hive表增加字段更改字段注释的方法

    千次阅读 2019-08-08 16:19:58
    新增字段: alter table XXXX add columns(XXXXX); 修改注释: use XXX;(数据库名字) alter table xxx(表名) change xxx(要更改的列名) xxx(更改后的列名) string(更改后的类型) COMMENT'xxxxx注释’; ...
  • Hive 分区表增加字段并赋值

    千次阅读 2021-10-11 17:44:45
    Hive 分区表增加字段并赋值前言背景解决方案具体操作注意事项总结 前言 最近工作上需要用到大数据平台,之前没用过大数据相关的工具,所以踩了不少坑。今天就把在分区中添加字段的坑分享出来,避免再次踩坑。 ...
  • 原因:使用alter table语句更新结构时,由于默认更新现有结构,对原有分区无改动,导致原有分区改变数据时,新字段为NULL 测试过程: 创建测试: CREATE TABLE DEFAULT. COMPANYLEVEL_TEST( IDSTRING, PAR...
  • hive表新增字段或者修改字段

    千次阅读 2020-12-09 15:52:27
    1. hive表操作 1. 修改表字段的数据类型或者修改表字段名字 #如果是外部,需要先修改为内部 alter table 数据库名.表名set tblproperties('EXTERNAL' = 'FALSE'); ALTER TABLE 数据库名.表名 CHANGE ...
  • 第一步:先在最后一个位置增加字段 alter table table_name add columns now_time string comment '当前时间'; 第二步:通过移动位置的指令移动到指定位置 alter table table_name change now_time now_time ...
  • hive分区添加字段

    千次阅读 2022-01-19 17:50:16
    结尾加上CASCADE好像就不需要刷新历史分区元数据了? ALTER TABLE Database.TableName ADD COLUMNS(col1 STRING COMMENT '备注1') CASCADE;
  • hive 创建、删除、增加分区、增加字段
  • 有一个hive外部,分区字段是tp和month,新增了几个字段fee_org_id,applied_date_time,pop_coop_mode_type_cd,fee_company后,insert overwrite重跑分区数据, SELECT * FROM app.app_yhzz_pop_bill_indicator...
  • 由于近期业务需要,需对现已存在的分区表增加字段,遇到了一个小问题记录一下: alter table table_name add columns (c_time string comment '当前时间'); 再往改分区插入数据后,通过hive查询查不到改字段的值...
  • 由于之前的工作中就算是分区中插入字段,也是只对当前数据负责,不需要管历史数据,所以没考虑过如果加字段之后,对历史分区如何插入数据的问题,直到一次面试,面试官问了这个问题,我决定用博客的形式记录下来,...
  • hive新增表字段的几种方式

    千次阅读 2022-03-10 14:25:23
    对于旧的分区的可正常查询,新加的字段值为空。但是旧的分区的数据无法插入或更新,新的分区可正产插入和查询。 方案2: ALTER TABLEtbl_oper_in_flow add columns(less_recovery double,remark1 str...
  • 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 ...
  • 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...
  • 如果使用一般的add columns(col1 string)的语句增加字段的话,对于旧分区中的col1将为空且无法更新,即便insert overwrite该分区也不会生效。 1、准备一个分区test_partition 2、测试数据新增字段 alter table ...
  • hive表新增字段注意事项-使用cascade

    千次阅读 2020-08-10 19:49:36
    hive表新增字段注意事项-使用cascade hive分区新增字段时,特别注意要使用cascade,这样可以让下面各个分区都能增加新的字段。 因为分区的各个分区在hive的元数据管理中是分开的。
  • 增加字段可以使我们在所有字段之后和分区字段之间增加一个字段 使用格式 使用示例,在 中增加 字段,现有的数据如下: 当我增加新的字段 后,新增字段前的数据该列显示为 ,那么如果我们新增一条数据呢? 结论...
  • 这导致Hive表结构也需要跟着变化,否则无法通过Hive查询到最新添加字段的数据。 解决办法:  为数据添加字段字段必须添加到已有字段的最后面。因为已经存在的数据是按照之前的结构写入到HDFS文件中的,当...
  • 某集群hive表新增字段,然后插入数据。使用hive查询正常,但是使用hetu查询报错。报错堆栈如下: Caused by: io.prestosql.spi.PrestoException: Error opening Hive split hdfs://hacluster/user/xxx/hive/xx/xxx/...
  • Hive分区新增字段

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

    千次阅读 2021-11-01 14:48:30
    Hive表更名问题——RENAME TABLE ALTER TABLE table_name RENAME TO new_table_name 这个命令可以让用户为更名。数据所在的位置和分区名并不改变。换而言之,老的表名并未“释放”,对老表的更改会改变新的...
  • [Hive]增加字段

    千次阅读 2018-06-01 11:35:35
    增加字段 ALTER TABLE audit_temp ADD COLUMNS(other STRING); 修改字段位置 ALTER TABLE audit_temp CHANGE COLUMN other other STRING AFTER hav_coin;

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,261
精华内容 7,304
关键字:

hive表增加字段