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');

相关推荐
小马爱打代码1 小时前
SpringBoot原生实现分布式MapReduce计算
spring boot·分布式·mapreduce
瞎胡侃1 小时前
Spark读取Apollo配置
大数据·spark·apollo
悻运1 小时前
如何配置Spark
大数据·分布式·spark
懒惰的橘猫1 小时前
Spark集群搭建之Yarn模式
大数据·分布式·spark
2401_824256862 小时前
Spark-Streaming
大数据·分布式·spark
胡耀超2 小时前
附1:深度解读:《金融数据安全 数据安全分级指南》——数据分类的艺术专栏系列
大数据·金融·数据治理·生命周期·数据分类·政策法规
合新通信 | 让光不负所托2 小时前
【合新通信】浸没式液冷光模块与冷媒兼容性测试技术报告
大数据·网络·光纤通信
元6332 小时前
spark和hadoop之间的对比和联系
大数据·hadoop·spark
cooldream20093 小时前
深入解析大数据的Lambda架构:设计、特点与应用场景
大数据·架构·系统架构师
淋一遍下雨天4 小时前
Spark-Streaming核心编程
大数据·kafka