hive修改表操作与array类型

1.表重命名

alter table old_table_name rename to new_table_name;

2.修改表属性值

ALTER TABLE table_name SET TBLPROPERTIES table_properties;

table_properties: (property_name = property_value, property_name = property_value, ... )

如: ALTER TABLE table_name SET TBLPROPERTIES("EXTERNAL"="TRUE"); 修改内外部表属性

如: ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comment); 修改表注释

3.添加分区

ALTER TABLE tablename ADD PARTITION (month='201101');(新分区是空的没数据,需要手动添加或上传数据文件)

修改分区值:

ALTER TABLE tablename PARTITION (month='202005') RENAME TO PARTITION (month='201105');

删除分区:ALTER TABLE tablename DROP PARTITION (month='201105');

4.添加列

ALTER TABLE table_name ADD COLUMNS (v1 int, v2 string);

修改列名

ALTER TABLE test_change CHANGE v1 v1new int;

删除表

DROP TABLE tablename;

清空表

TRUNCATE TABLE tablename;

1.array类型:Hive 支持的数据类型很多,除了基本的: int 、 string 、 varchar 、 timestamp 等

还有一些复杂的数据类型如array

建表语句:create table myhive.test_array(name string, work_locations array<string>)

row format delimited fields terminated by '\t' COLLECTION ITEMS TERMINATED BY ',';

导入数据:load data local inpath '/home/wtk/data_for_array_type.txt' into table test_array;

常用 array 类型查询:

-- 查询所有数据

select * from myhive.test_array;

-- 查询 loction 数组中第二个元素

select name, work_locations[1] location from myhive.test_array;

-- 查询 location 数组中元素的个数

select name, size(work_locations) location from myhive.test_array;

-- 查询 location 数组中包含 tianjin 的信息

select * from myhive.test_array where array_contains(work_locations,'tianjin');

相关推荐
梦里不知身是客112 分钟前
flume防止数据丢失的方法
大数据·flume
鹏说大数据2 小时前
数据治理项目实战系列6-数据治理架构设计实战,流程 + 工具双架构拆解
大数据·数据库·架构
笨蛋少年派2 小时前
数据仓库系统建设:数据采集、预处理与集成
数据仓库
qq 8762239653 小时前
基于Matlab/simulink的双电机建模驱动控制仿真模型:探索纯电与混动汽车世界
数据仓库
AI逐月4 小时前
Git 彻底清除历史记录
大数据·git·elasticsearch
天远API4 小时前
Java后端进阶:处理多数据源聚合API —— 以天远小微企业报告为例
大数据·api
希艾席帝恩5 小时前
数字孪生如何重塑现代制造体系?
大数据·人工智能·数字孪生·数据可视化·数字化转型
武汉海翎光电5 小时前
从数据采集到智能决策:船舶传感器的技术跃迁之路
大数据·人工智能
下海fallsea6 小时前
美团没打赢的仗
大数据
无代码专家6 小时前
无代码:打破技术桎梏,重构企业数字化落地新范式
大数据·人工智能·重构