Hive创建表的方式(默认路径/user/hive/warehouse,也可以location指定,主要针对external表)
1、使用create命令创建一个新表,带分区
CREATE TABLE `FDM_SOR.mytest_deptaddr`(
`dept_no` int,
`addr` string,
`tel` string)
partitioned by(statis_date string )
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
可以使用describe formatted mytest_deptaddr 查看建表相关的各种配置属性以及默认属性。在创建表时有很多属性,比如存储地址,存储格式等属性我们都没有直接配置,而是选择了系统默认的。
2、把一张表的某些字段抽取出来,创建成一张新表,使用as
create table mytest_tmp1
as
select * from FDM_SOR.mytest_deptaddr where statis_date='20180229';
注意:
1.as只会复制属性以及属性值到新的表中
2.使用as创建的表,并不会带原表的分区(分区丢失),包扣一些字段的约束等(可以通过describe formatted查看)
3.新表中会将原表的分区当做字段出现在新表中。
3、复制表结构,使用like创建表
create table mytest_tmp like FDM_SOR.mytest_deptaddr;
注意:不会复制表中属性值,只会复制表结构(包扣表的分区以及存储格式之类的,区别as)
本文详细介绍了在Hive中创建表的三种方式:使用create命令创建带分区的新表,通过as关键字从现有表中抽取字段创建新表,以及使用like关键字复制表结构。对比了不同创建方式的特点和注意事项。
建表,like建表&spm=1001.2101.3001.5002&articleId=82531332&d=1&t=3&u=0afca022d526416a8e7b44aed4ee1de9)
2万+

被折叠的 条评论
为什么被折叠?



