湖仓一体技术架构

各组件选型

数据集成

数据集成最主要考虑数据同步的能力也就是数据源的多样,同步场景(离线全量、增量,CDC,实时同步等)的丰富度,如果集成工具自带数据源管理,数据质量,监控等一些管理能力的话会优先考虑。

数据存储


1. 数据湖选型

构建湖仓一体的前提是要引入数据湖以及配套的数据存储组件,以适配类型多样化的结构、半结构、非结构化等数据类型;目前市面上流行且被广泛采用的数据湖有Delta、Hudi、Iceberg三种,由于Delta 必须绑定 Spark,在上层数据处理引擎支持上不够灵活,流行程度也没有后两者高,加上后续要考虑实时流处理的场景,Delta数据湖显然不合适; 对于Hudi和Iceberg优劣,我们可以从起功能和适用场景上进行对比:


从上述功能对比看,Hudi和Iceberg实际不分伯仲,数据读取,引擎支持、事务支持、数据的增删改等数据湖核心功能两者均支持; 接下来从两者的使用场景进行对比:

在结合了功能和场景对比后,我们可以得到以下结论:

Iceberg 和 Hudi 都支持行级更新的能力

Iceberg 和 Hudi 在能力上接近,但是定位不同。Iceberg 定位成为数据湖格式的标准接口,更重视兼容性和可扩展性;Hudi 定位成为一个综合的数据湖平台,功能更丰富,迭代更快,但是架构上劣势会造成版本的不稳定,功能可移植性较差。

Iceberg 和 Hudi 都支持较好的数据回溯能力。

Iceberg 在分区变更和隐藏分区上支持相对较好。

Iceberg 和 Hudi 对于实时场景下的 CDC 数据流式读取,支持较弱或不支持,都不满足上生产构建实时数仓的条件,所以基于 Iceberg 或 Hudi 构建实时数仓的方案目前还不够成熟。

最终结论为:Iceberg在计算引擎多样化、底层存储可插拔、文件格式几方面兼容性和可扩展性更优,对后续平台发展和迭代更加友好,推荐使用Iceberg作为数据湖的管理组件;

注:数据湖号称是集中式存储库,但实际更准确的应该称之为数据管理框架,真正的底层存储必须依赖于HDFS或者对象存储组件


2. 数据存储

开源对象存储系统比较多,apache Ozone,MinIO,Ceph,LakeFS。由于选定Iceberg作为数据湖管理组件,结合公司现有存储(MiniO),优先推荐使用MiniO作为对象存储组件(https://blog.min.io/lakehouse-architecture-iceberg-minio/); 另外鉴于Iceberg起初就是为了解决hive仓库的弊端而诞生的新组件,天然支持对HDFS分布式文件系统的读写访问,因此存储的备选方案也可以定位HDFS;

结论:数据湖底层存储组件优先推荐MiniO,便于复用公司现有的存储服务,但是对于大数量情况下,MiniO方案可行性未知; 备选存储为HDFS,作为Hadoop体系下最为核心的数据存储服务,其可靠性和稳定性已经过成千上万公司验证。

3. 存储格式

主流的三种格式: parquet、avro、orc, 数仓模型表使用列式 parquet格式压缩存储

//todo 补一下


数据加工

批处理使用spark;流处理使用flink;离线数仓引擎使用MMP数据库,主要考虑两款 doris 和 starrocks


调度系统

调度系统主要分为两部分:工作流调度、计算引擎调度


1. 工作流调度

工作流调度系统是大数据平台核心组件,是驱动离线批任务正常运转关键能力,同时组件应该自带一些运维功能,保障系统可管理,因此稳定性,易用性,可维护性,扩展性为核心考虑因素,以下对4大主流调度系统进行对比


结论:推荐使用 DolphinScheduler 作为工作流调度平台。从功能丰富度,社区活跃度,生态集成/扩展性,可维护,当前团队的技术栈,过往使用经验综合判断优先推荐DolphinScheduler。

2. 计算引擎调度

大数据组件主流的两个Hadoop Yarn 和 Kubernetes,Yarn是专门解决大数据组件资源调度而设计的也是当前主流的方式,但是云原生,容器化部署时未来的趋势,所以k8s是未来趋势,当前大数据组件都基本支持k8s了


结论:前期推荐 Yarn,聚焦大数据引擎调度,方案成熟且稳定,学习成本低可快速落地,客户具体的场景是私有化部署不涉及超大集群资源管理

运维部署 

1. 实施部署

组件部署 + 脚本  → 半自动化部署

Helm + Docker + k8s  容器化部署

2. 监控 + 告警

统一的监控管理平台:Prometheus + Grafana

自研统一管理界面,并聚合各组件提供的管理界面


整体架构


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容