HIve 建表, 导入HDFS路径文件; 遇到问题及解决策略

本文介绍了在Hive中处理HDFS路径下的分区数据时遇到的问题,包括两种建表方法:一种是建表时直接包含分区,另一种是不插入时间分区。同时,强调了时间选择的重要性以及处理lzo压缩格式数据的建表注意事项。此外,还提到了Hive建表不能覆盖原有表结构或路径的问题,即使重新建表,查询结果仍会指向原表记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现有hdfs路径hadoop fs -du -h /user/portal/ODM/push/pushcatch_data_collect/

路径下有每天分区
284.2 K /user/portal/ODM/push/pushcatch_data_collect/2018-12-18
158.8 K /user/portal/ODM/push/pushcatch_data_collect/2018-12-19

现有两种建表方法,
1.建表语句中包含分区(通常是时间分区), 建表完成后, 需手动插入对应的分区;
建表语句
alter table tmp.test1 add if not exists partition (day = 20181201) location ‘/user/portal/ODM/push/pushcatch_data_collect/2018-12-18’;

2.不插入时间分区, 直接建表
在这里插入图片描述

两者都能取到数据;

注意时间的选择
concat(substr(insertTime,1,4),substr(insertTime,6,2),substr(insertTime,9,2)) = ‘${ts}’

###############
数据源是lzo压缩格式, hive建表时候注意建表语句;
STORED AS INPUTFORMAT
‘com.hadoop.mapred.DeprecatedLzoTextInputFormat’
OUTPUTFORMAT
‘org.apache.hadoop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值