hive中创建表的三种方式:直接建表,抽取(as)建表,like建表


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)


————————————————
版权声明:本文为CSDN博主「道法—自然」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wyqwilliam/article/details/82531332


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM