hive 建表快捷方式

之前写过一篇如何将 Oracle 表导入 hive 表。https://blog.csdn.net/u011675334/article/details/102504953

今天讲一个更为快捷的方式。

假设已经建好一个临时表,但是要给该表按日期建立分区,就可以复用该表的格式。

首先执行命令:

show create table test.template;

弹出结果如下:

CREATE TABLE `template`(                                      
  `id` string,                                          
  `ctr` double) 
partitioned by (`dt` string)                                            
ROW FORMAT SERDE                                                
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'          
STORED AS INPUTFORMAT                                           
  'org.apache.hadoop.mapred.TextInputFormat'                    
OUTPUTFORMAT                                                    
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'  
LOCATION                                                        
  'hdfs://cluster/apps/hive/warehouse/test.db/template'
;


TBLPROPERTIES (                                                 
   'COLUMN_STATS_ACCURATE'='{\"BASIC_STATS\":\"true\"}',         
   'numFiles'='1',                                               
   'numRows'='35',                                               
   'rawDataSize'='773',                                          
   'totalSize'='808',                                            
   'transient_lastDdlTime'='1581422275')

在删除原来的临时表之后,只需选取 TBLPROPERTIES 以上部分即可建表。

此外,需要注意 partitioned by (`dt` string),意思是按照 dt (日期)建分区。 

如果是 ORC 格式,则改为 STORED AS ORC; 且后面的 INPUTFORMAT 和 OUTPUTFORMAT 需省略。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值