hive和impala操作parquet文件timestamp带来的困扰

在将数据从一个CDH5.9集群迁移到另一个时,发现Hive查询Parquet文件中的timestamp比Impala多了8小时。问题源于Hive的timestamp在Parquet中不使用标准的LogicalType,而是与Impala的实现兼容。解决方案是通过Hive的to_utc_timestamp函数转换时间,并用ORCFile存储,但Impala不支持ORCFile,最终采用妥协方案:Hive离线处理后推送到Impala或DB,保存为Impala支持的格式。

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

前言:准备使用hive作数据仓库,因历史遗留问题,原先遗留的数据处理都是impala处理的,数据文件是parquet文件,因本身集群资源少,而处理的文件很大,准备使用hive离线分析将小文件推送到db或者impala进行展示操作。

准备:搭建cdh5.9,将原有的数据从一个集群迁移到现有的集群。对数据按照天进行动态分区,分区数据仍然使用parquet格式。

问题:因分区字段为timestamp类型,一个偶然的机会发现了一个诡异的问题,hive查询的时间比impala查询的时间多了8个小时,和原始数据进行比对发现hive处理的timestamp数据有问题。


Based on 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值