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)

猜你喜欢

转载自blog.csdn.net/wyqwilliam/article/details/82531332
今日推荐