龙空技术网

「大数据」关于数据入湖之后,Hive查询会产生延迟的记录

MQ Home 178

前言:

而今看官们对“oracle查询大量数据很慢”可能比较关心,兄弟们都需要了解一些“oracle查询大量数据很慢”的相关内容。那么小编也在网络上网罗了一些关于“oracle查询大量数据很慢””的相关文章,希望朋友们能喜欢,咱们一起来学习一下吧!

前言

最近项目搞数据入湖,特记录一些典型问题以便后续查阅。

基础概念:

数据入湖(Data Lake)是一个以原始格式存储数据的存储库或系统。它按原样存储数据,而无需事先对数据进行结构化处理。一个数据湖可以存储结构化数据(如oracle\Pg数据库),半结构化数据(如CSV、日志、XML、JSON),非结构化数据(如电子邮件、文档、PDF)和二进制数据(如图形、音频、视频)。

但是随着大数据技术的融合发展,数据入湖技术不断演变,汇集了各种技术,包括数据仓库、实时和高速数据流技术、数据挖掘、深度学习、分布式存储和其他技术。逐渐发展成为一个可以存储所有结构化和非结构化任意规模数据,并可以运行不同类型的大数据工具,对数据进行大数据处理、实时分析和机器学习等操作的统一数据管理平台。

Hudi: Apache Hudi是一个Data Lakes的开源方案,Hudi是Hadoop Updates and Incrementals的简写,它是由Uber开发并开源的Data Lakes解决方案。Hudi能够基于HDFS之上管理大型分析数据集,可以对数据进行插入、更新、增量消费等操作,主要目的是高效减少摄取过程中的数据延迟。

Hudi非常轻量级,可以作为lib与Spark、Flink进行集成

数据处理过程

目前我们数据处理的基本流程是: 内外部业务系统接入 - 数据入湖(分离线入湖与实时入湖)- 数据处理、数据治理、数据清洗 - 数据加工与展示(这里一般是用于报表和BI,可助力企业的经营决策与业务分析)

我们采用的是hudi做实时入湖,Flink CDC做集成

问题记录

测试环境由于数据量较小,未发现问题,等到上线之后发现查询hive,数据返回会很慢(线上环境是上亿的数据库表单量)

问题:hive查询出来的数据可能会延迟与源表不一致。

原因: ---》这个由hudi特性决定,采集到的数据在hive查询有一定延迟。数据写入到Hudi,通过建立hive外部表访问是parquet文件。在hudi的MOR方式下,数据先写入到.log文件中,后续根据flink配置checkpoint时间及hudi合并参数,有一定时延合并到parquet文件中,最终被hive表查询。

解决思路: 产品在设计的时候,需要提示用户查询存在延时的情况。

标签: #oracle查询大量数据很慢