基于Flink+Iceberg构建可落地的企业级实时数据湖教程

笑面虎
• 阅读 81

基于Flink+Iceberg构建可落地的企业级实时数据湖教程 基于Flink+Iceberg构建可落地的企业级实时数据湖教程

给大家分享一套课程——基于Flink+Iceberg构建可落地的企业级实时数据湖教程,附代码+课件。

iceberg是一种表格式。我们可以简单理解为他是基于计算层(flink、spark)和存储层(orc、parqurt)的一个中间层,我们可以把它定义成一种“数据组织格式”,Iceberg将其称之为“表格式”也是表达类似的含义。他与底层的存储格式(比如ORC、Parquet之类的列式存储格式)最大的区别是,它并不定义数据存储方式,而是定义了数据、元数据的组织方式,向上提供统一的“表”的语义。它构建在数据存储格式之上,其底层的数据存储仍然使用Parquet、ORC等进行存储。在hive建立一个iceberg格式的表。用flink或者spark写入iceberg,然后再通过其他方式来读取这个表,比如spark、flink、presto等。

iceberg优势 增量读取处理能力:Iceberg支持通过流式方式读取增量数据,支持Structed Streaming以及Flink table Source; 支持事务(ACID),上游数据写入即可见,不影响当前数据处理任务,简化ETL; 提供upsert和merge into能力,可以极大地缩小数据入库延迟; 可扩展的元数据,快照隔离以及对于文件列表的所有修改都是原子操作; 同时支持流批处理、支持多种存储格式和灵活的文件组织:提供了基于流式的增量计算模型和基于批处理的全量表计算模型。批处理和流任务可以使用相同的存储模型,数据不再孤立; Iceberg支持隐藏分区和分区进化,方便业务进行数据分区策略更新。支持Parquet、Avro以及ORC等存储格式。 支持多种计算引擎,优秀的内核抽象使之不绑定特定的计算引擎,目前Iceberg支持的计算引擎有Spark、Flink、Presto以及Hive。

Flink+Iceberg环境搭建:

  1. Flink SQL Client配置Iceberg Flink集群需要使用Scala 2.12版本的

将Iceberg的依赖包下载放到Flink集群所有服务器的lib目录下,然后重启Flink

Iceberg默认支持Hadoop Catalog。如果需要使用Hive Catalog,需要将flink-sql-connector-hive-3.1.2_2.12-1.14.3.jar放到Flink集群所有服务器的lib目录下,然后重启Flink

然后启动SQL Client就可以了

Iceberg 是为分析海量数据准备的,被定义为 table format,table format 介于计算层和存储层之间。

table format 主要用于向下管理在存储系统上的文件,向上为计算层提供一些接口。存储系统上的文件存储都会采用一定的组织形式,譬如读一张 Hive 表的时候,HDFS 文件系统会带一些 partition,数据存储格式、数据压缩格式、数据存储 HDFS 目录的信息等,这些信息都存在 Metastore 上,Metastore 就可以称之为一种文件组织格式。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
5分钟带你浅谈企业级PaaS平台HZERO!
汉得企业级PaaS平台HZERO一款基于微服务架构的企业级PaaS平台,可支持企业各类系统搭建或产品研发,帮助企业快速构建技术中台。HZERO是企业级PaaS平台,结合汉得多年项目实施经验,应用微服务、容器、DevOps等云原生技术,封装了大量技术开发包、技术应用组件、技术场景实现能力,并结合以人工智能、大数据、物联网和
Stella981 Stella981
2年前
Apache Hudi和Presto的前世今生
一篇由ApacheHudiPMCBhavaniSudhaSaktheeswaran和AWSPresto团队工程师BrandonScheller分享ApacheHudi和Presto集成的一篇文章。1\.概述ApacheHudi是一个快速迭代的数据湖存储系统,可以帮助企业构建和管理PB级数据湖,Hudi通过引入up
笑面虎 笑面虎
3个月前
【完结24章】Qt 全流程实战企业级项目 - 云对象存储浏览器
【完结24章】Qt全流程实战企业级项目云对象存储浏览器给大家分享一套课程——Qt全流程实战企业级项目云对象存储浏览器,已完结24章。附源码PDF课件。开发QT有两种IDE可以使用,一种是使用VSQt的插件,另一种就是使用QtCreator工具。前一种是
贾蓁 贾蓁
3个月前
Flink+ClickHouse 玩转企业级实时大数据开发
FlinkClickHouse玩转企业级实时大数据开发download》http://quangneng.com/1869/"FlinkClickHouse"的组合可以用于企业级实时大数据开发,结合了流式计算和实时分析的优势。以下是使用Flink和Cl
京东云开发者 京东云开发者
2个月前
Apache Doris 整合 FLINK CDC + Iceberg 构建实时湖仓一体的联邦查询
1概况本文展示如何使用FlinkCDCIcebergDoris构建实时湖仓一体的联邦查询分析,Doris1.1版本提供了Iceberg的支持,本文主要展示Doris和Iceberg怎么使用,大家按照步骤可以一步步完成。完整体验整个搭建操作的过程。2系统
邢德全 邢德全
2个月前
Flink 从0到1实战实时风控系统|同步追更
Flink从0到1实战实时风控系统|同步追更download》chaoxingit.com/2323/构建实时风控系统是保障企业安全的重要组成部分,而使用ApacheFlink来构建实时风控系统则能够提供高性能、低延迟和可伸缩性。以下是从零开始构建实时风控
邢德全 邢德全
2个月前
Flink 从0到1实战实时风控系统|同步追更
Flink从0到1实战实时风控系统|同步追更download》chaoxingit.com/2323/构建实时风控系统是保障企业安全的重要组成部分,而使用ApacheFlink来构建实时风控系统则能够提供高性能、低延迟和可伸缩性。以下是从零开始构建实时风控
乐和 乐和
1个月前
Flink 从0到1实战实时风控系统|同步追更
Flink从0到1实战实时风控系统|同步追更download》shanxueit.com/2323/从零开始构建实时风控系统:基于Flink的实战指南摘要:本文将介绍如何利用ApacheFlink构建实时风控系统,从零开始逐步搭建一个高效可靠的实时数据处理
韦康 韦康
1个月前
海量数据高并发场景,构建Go+ES8企业级搜索微服务_无密分享
海量数据高并发场景,构建GoES8企业级搜索微服务无密分享download》quangneng.com/895/GoES8企业级搜索微服务的介绍GoES8企业级搜索微服务是一个基于Go语言和Elasticsearch8.x(简称ES8)构建的高性能、
笑面虎 笑面虎
4个月前
【24章】Qt 全流程实战企业级项目 - 云对象存储浏览器
【24章】Qt全流程实战企业级项目云对象存储浏览器给大家分享一套课程——Qt全流程实战企业级项目云对象存储浏览器,课程共24章,包更新。附源码PDF课件。开发QT有两种IDE可以使用,一种是使用VSQt的插件,另一种就是使用QtCreator工具。前一