精华内容
下载资源
问答
  • 1. 内部表Parquet测试 CREATE TABLE `test.user_active_all_parquet_inner`( `imp_date` date COMMENT '活跃日期', `user_id` string COMMENT '用户id') ...hive.exec.dynamic.partition.mode=nonstric; insert into .

    1. 内部表Parquet测试

    CREATE TABLE `test.user_active_all_parquet_inner`(
    `imp_date` date COMMENT '活跃日期', 
    `user_id` string COMMENT '用户id')
    COMMENT '用户每日活跃列表'
    PARTITIONED BY (`dt` string)
    stored as parquet

    hive.exec.dynamic.partition.mode=nonstric;
    insert into user_active_all_parquet_inner partition(dt) select * from user_active_all;
    alter table user_active_all_parquet_inner change column `imp_date` `data_date` date cascade;

    select * from user_active_all_parquet_inner limit 50;

    结果出现数据丢失

    查找元数据:

    1. select * from TBLS;//找到此表的TBL_ID

    2. //找到后在TABLE_PARAMS找这张表的schema

    3. select * from TABLE_PARAMS where TBL_ID = '691'

    没有效果

    alter table user_active_all_parquet_inner replace COLUMNS (`test_date` date COMMENT '活跃日期',`user_id` string COMMENT '用户id') -- 一样没效果

    2. 外部表Parquet测试

    CREATE external TABLE `test.user_active_all_parquet_outter`(
      `imp_date` date COMMENT '活跃日期', 
      `user_id` string COMMENT '用户id')
    COMMENT '用户每日活跃列表'
    PARTITIONED BY (`dt` string)
    stored as parquet
    LOCATION
      'hdfs://192.168.137.111:9000/user/hive/warehouse/test.db/user_active_all_parquet_outter'

    ---- 效果与内部表一样,修改的列数据丢失

    3. orc 外部表
    CREATE external TABLE `test.user_active_all_orc_outter`(
    `test_date` date COMMENT '活跃日期', 
    `user_id` string COMMENT '用户id')
    COMMENT '用户每日活跃列表'
    PARTITIONED BY (`dt` string)
    stored as orcfile
    LOCATION
    'hdfs://192.168.137.111:9000/hive-test/test/user_active_all_orc_outter'

    测试结果与parquet结果一样

    没有结果方案???????????????????????????????
    insert into user_active_all_orc_outter partition(dt) select * from user_active_all;
    alter table user_active_all_orc_outter change column `test_date` `imp_date` date cascade;

    展开全文
  • hive修改字段及字段类型

    万次阅读 2020-01-15 16:19:53
    hive修改字段类型语句:alter table 表名 change column 原字段名字段名 字段类型; alter table user_chain change column u_register u_registe date;(u_register原类型为string类型) 这样修改会报一个错误...

    hive修改字段类型语句:alter table 表名 change column 原字段名 新字段名 字段类型;
    alter table user_chain change column u_register u_registe date;(u_register原类型为string类型)
    这样修改会报一个错误:
    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. The following columns have types incompatible with the existing columns in their respective positions :
    u_registe
    原因分析:hive内部的类型转换的限制。总结为:
    1、我们能够修改整型字段为double类型字段,因为double类型能够承载整型数据,
    但是我们修改double类型字段为整型字段会有问题,因为整型字段不能够满足double数据
    2、任何类型基本都可以转为字符串,任何double、float、int类型的数据都可以作为字符串处理
    3、数据类型的转换为转换后的数据不会截断原来的数据

    如果只想改变列的类型而不关心数据的准确性,可以设置set hive.metastore.disallow.incompatible.col.type.changes=false;

    新增字段表

    alter table 表名 add columns(字段名 数据类型)

    修改表的字段顺序
    ALTER TABLE t1 CHANGE column student student varchar(20) comment ‘学生姓名’ AFTER class;
    这种修改的做法不建议用,只是逻辑上修改了字段,物理上并没有变化,对特定情况下的表有一定影响

    展开全文
  • hive 修改字段类型和增加字段表

    万次阅读 2018-12-04 15:34:13
    Hive修改字段类型 Alter table 表名 change column 原字段名称 现字段名称 数据类型   新增字段表 alter table 表名 add columns(字段名 数据类型)    

    Hive 表修改字段类型

    Alter table 表名  change column 原字段名称  现字段名称  数据类型

     

    新增字段表

    alter table 表名 add columns(字段名 数据类型)

     

     

    展开全文
  • hive修改字段类型

    2020-12-30 14:50:40
    alter table 表名 change column 原字段名字段名 字段类型

    修改字段类型

    alter table 表名 change column 原字段名 现字段名 字段类型
    

    hive修改表注释:

    alter table  table_name set tblproperties('comment' = '表的新注释');
    

    添加字段

    alter table table_name add columns (column_1 string,column_2 int)
    
    展开全文
  • 1.hive新增字段 sql格式: ALTER TABLE 表名 ADD COLUMNS (新增字段名 string ...2.hive修改字段名,字段类型,描述等 sql格式: ALTER TABLE 表名 CHANGE COLUMN 旧字段名 新字段名 STRING COMMENT '描述'; ...
  • 方案一: 前提是有元数据库的权限 ...加上一列weight字段后(这里使用cascade就是为了同步到hivemetastore),我用spark向表插入一个带有weight字段的表,此时抛出异常 Exception in thread "main" org.
  • 1. 修改字段名或字段类型 hive表,能增加列,不可以删除列,但可以改列名; 对于分区表,要使用cascade才会对所有分区生效,否则,历史分区不会生效。 --修改字段名 alter table tablename change value1 value1_...
  • 1. hive表操作 ...表名 CHANGE COLUMN 字段名 新的字段名(如果不变就保持原字段) 字段类型(若不变就采用原来的字段) COMMENT '新的字段备注'; alter table 数据库名.表名set tblproperties('EXTERNAL
  • 1、对某个字段重命名,修改其位置、类型... 修改字段名并增加注释 alter table student change column name name_new varchar(20) comment ‘sudent name’ ; 2> 修改数据类型并增加注释 alter table student ch...
  • Hive 修改字段名称 / 字段类型(注意:修改字段类型时要避免数据类型冲突) alter table 表名 change column 原字段名称 现字段名称 数据类型; Hive 新增字段表 alter table 表名 add columns(字段名 数据类型); ...
  • ALTER TABLE tableName(表名) CHANGE COLUMN 原字段名字 新字段名字 字段类型 COMMENT '名称- 新的字段备注' 操作样例: ALTER TABLE kylin.kylin_premium_quit_actual CHANGE COLUMN sub_point_id sub_point_id ...
  • Hive修改表字段,踩坑记录

    千次阅读 2020-07-03 09:52:07
    Hive修改表字段,基于新模型的字段命名规范基本全部重命名: 执行命令示例(其中一条命令): ALTER TABLE test.info_class change class_id id_class string; 查询修改的字段内容时,全部为null,包括之前分区的数据 ...
  • Hive修改列名

    万次阅读 2019-04-08 17:11:45
    修改字段名方法: ALTER TABLE 表名 CHANGE 旧字段 新字段 类型; 举例: hive> desc jsontest; OK id string jj string hive...
  • hive 表总共分为四类,分别内部表、外部表、分区表、桶表 未被external修饰的是内部表(managed table),被external修饰的为外部表(external table); 区别: 内部表数据由Hive自身管理,外部表数据由HDFS管理;...
  • HIVE 修改

    2020-01-02 22:37:06
    重命名 语法: alter table 表名 rename to 新表名;...修改字段 替换所有字段 alter table 表名 replace columns ( 字段名1 数据类型1 ,… ); 添加表的分区 本质是在hdfs上添加一个新的分区子目录 a...
  • 3、修改字段名或注释 --将table1的的字段useid修改为user: alter table table1 change userid user string comment'用户ID'; --修改后的字段如下 +-----------+------------+----------+--+ | col_name | data_type...
  • 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修改

    2019-09-27 17:13:11
    1.修改表名注释 ALTER TABLE 数据库名....2.修改字段名注释 ALTER TABLE 数据库名.表名 CHANGE COLUMN 字段名 新的字段名(如果不变就保持原字段) 字段类型(若不变就采用原来的字段) COMMENT '新的字段备注'; ...
  • hive增改删字段

    2020-08-10 17:52:30
    (1)修改字段名方法: ALTER TABLE 表名 CHANGE 旧字段 新字段 类型; (2)新增字段:use mart_flow_test; alter table detail_flow_test add columns(original_union_id string); 或者:alter table 表名 add ...
  • 一、Hive分区表新增字段 ...二、Hive修改表名,列名,列注释,表注释,增加列,调整列顺序,属性等操作 参考博客:https://blog.csdn.net/helloxiaozhe/article/details/80749094 三、Hive分区表动态添加字...
  • Hive(二)分区,修改分区,严格模式

    千次阅读 2019-09-09 23:38:50
    hive的分区表: 分区意义: 避免全表扫描,从而提高查询效率。默认使用全表扫描。 使用什么分区? 日期、地域、能将数据分散开来?...2、hive的分区字段是一个伪字段,但是可以用来进行操作 3、一张表可以有一...
  • –给表添加注释 ALTER TABLE 表名 SET TBLPROPERTIES (‘comment’ = ‘注释’) –给表字段添加或者修改注释 alter table 表名 CHANGE COLUMN 字段名修改字段名 string(字段类型) comment ‘注释’;

空空如也

空空如也

1 2 3 4
收藏数 63
精华内容 25
关键字:

hive修改字段名