【GHS】Apache Hudi使用简介

编程开发   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2020-12-30

Apache Hudi使用简介 [TOC] ### 数据实时处理和实时的数据 实时分为处理的实时和数据的实时 即席分析是要求对数据实时的处理,马上要得到对应的结果 Flink、Spark Streaming是用来对实时数据的实时处理,数据要求实时,处理也要迅速 数据不实时,处理也不及时的场景则是我们的数仓T+1数据 而本文探讨的Apache Hudi,对应的场景是数据的实时,而非处理的实时。它旨在将Mysql中的时候以近实时的方式映射到大数据平台,比如Hive中。 ### 业务场景和技术选型 传统的离线数仓,通常数据是T+1的,不能满足对当日数据分析的需求 而流式计算一般是基于窗口,并且窗口逻辑相对比较固定。 而笔者所在的公司有一类特殊的需求,业务分析比较熟悉现有事务数据库的数据结构,并且希望有很多即席分析,这些分析包含当日比较实时的数据。惯常他们是基于Mysql从库,直接通过Sql做相应的分析计算。但很多时候会遇到如下障碍 - 数据量较大、分析逻辑较为复杂时,,直接通过Sql做相应的分析计算。但很多时候会遇到如下障碍 - 数据量较大、分析逻辑较为复杂时,Mysql从库耗时较长 - 一些跨库的分析无法实现 因此,一些弥合在OLTP和OLAP之间的技术框架出现,典型有TiDB。它能同时支持OLTP和OLAP。而诸如Apache Hudi和Apache Kudu则相当于现有OLTP和OLAP技术的桥梁。他们能够以现有OLTP中的数据结构存储数据,支持CRUD,同时提供跟现有OLAP框架的整合(如Hive,Impala),以实现OLAP分析 Apache Kudu,需要单独部署集群。而Apache Hudi则不需要,它可以利用现有的大数据集群比如HDFS做数据文件存储,然后通过Hive做数据分析,相对来说更适合资源受限的环境 ###Apache hudi简介 #### 使用Aapche Hudi整体思路 Hudi 提供了Hudi 表的概念,这些表支持CRUD操作。我们可以基于这个特点,将Mysql Binlog的数据重放至Hudi表,然后基于Hive对Hudi表进行查询分析。数据流向架构如下 ![file](https://img2020.cnblogs.com/other/2007268/202012/2007268-20201227194716638-1625980991.png) #### Hudi表数据结构 Hudi表的数据文件,可以使用操作系统的文件系统存储,也可以使用HDFS这种分布式的文件系统存储。为了后续分析性能和数据的可靠性,一般使用HDFS进行存储。以HDFS存储来看,一个Hudi表的存储文件分为两类。

成为第一个回答人

评论

登录后才可发表内容
  • 主题

    106

  • 帖子

    82

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.1833s Mem:2047Kb