从一个项目成长到今天,Apache 软件基金会(ASF)已经成为目前为止全球最大的开源软件基金会,维护着包括 350 多个顶级项目以及数十个孵化器项目,为全球提供着几十亿甚至上百亿美元市值的开源软件,是推动全球开源软件发展的重要力量。 伴随着全球开源项目数量的迅速增长,我们很高兴看到越来越多中国的开发者与开源项目加入,以及越来越多高质量项目的涌现。种种迹象表明,中国在国际基金会的影响力愈发重要。
Apache Linkis在湖仓一体架构下的数据处理实践
来自邮储银行副主任工程师——王华磊,代表社区分享了Apache Linkis在湖仓一体架构下的数据处理实践的主题演讲
为达到技术自主可控、兼容开放的目标,,可以选型开源Hadoop+MPP的结合的湖仓一体技术架构,融合批量实时数据处理双链路,基于Iceberg数据湖格式,使用Spark(批量)、Flink(实时)计算引擎,再结合使用Apache Linkis构建湖仓一体的技术平台底座,从而达到提质增效的实施效果。
大数据湖仓一体架构参考
挑战1:技术组件多,基础环境维护复杂
开源Hadop集群往往很多个,通常集群上层应用会直接访问集群,由于不同的应用由不同的项目组负责,基础环境的变更会直接影响上层所有应用的关联变更,协调工作多,生产变更风险大。
典型场景1:集群扩缩容,由于hdfs客户端需要访问所有数据节点需要同步更新主机的/etc/hosts文件,容易出现关联应用分析不到位,无法同时变更导致生产问题。
典型场景2:HiveServer2重启,为保障造成应用批量的正常运行,需要同步协调各应用项目组择机操作。
挑战2:技术有难度,技术开发门槛高
不同于互联网大厂,一般企业的科技人员都是以应用开发人员为主,偏底层的技术人员储备较少,开源社区的不同组件解决不同的问题,也存在不同的使用方式,从而要求应用开发人员需要的技能较多,但普遍技术门槛高,导致技术人员成本高。
挑战3:开源组件版本升级快,API变化大
开源社区的繁荣,一方面让程序员享受技术进步的喜悦,同时也带来无尽的“苦难”。部分组件,例如Flink、Spark,不仅版本升级迭代速度快,大版本的API变化也多,往下兼容存在问题。对于多租户的集群,“众口难调”。
挑战4:不同算引擎的元数据存储不同,统一视图难
不同的开源组件支持的元数据存储不同,作为技术平台,希望看到统一的元数据视图,了解自己有多少数据。对于支持Hive Metastore的,可以尽量往Metastore靠拢。对于不支持的,应用开发人员需要独立连接多个计算组件查询。
面对以上问题, Apache Linkis 在邮储银行的应用实践过程中,
通过实现计算组件的底层对接,对外提供统一接口调用:
基于Apache Linkis构建统一的中间访问层,对上层应用提供统一的Rest接口,简化了客户端部署,提升了管控能力。
降低应用开发门槛,优先使用SQL开发:
对于支持SQL的引擎,优先使用SQL进行业务开发,再结合Linkis中的Scripts组件提供Sql编辑和调试,极大了降低了对应用开发人员的技术门槛。
同一组件多版本共存,尝试灰度升级:
利用Apache Linkis的引擎管理,可以为不同应用配置的计算引擎版本,再结合灰度发布,基本解决不同应用使用不同组件版本的需求。
Hive Catalog为主,提供元数据统一入口:
借助Apache Linkis的多数据管理,以Hive Catalog数据模型为主,将Hbase、Kafka、MPP、Doris数据库相关的元数据底层存储封装,对外提供接口调用,构建技术元数据统一入口。结合Apache Atlas初步建立技术元数据血缘。
通过与Apache Linkis社区的协作,目前Apache Linkis已具备日批量运行作业6万及以上的能力,同时,我们也积极的参与 Apache Linkis 社区的共建,在某些特性方面做增强的支持,如:
未来,我们也将继续基于Linkis 不断的进行系统优化和性能提升,对于Iceberg和容器化部署会更为关注:
Iceberg等数据湖技术的管理“外挂
在湖仓架构下,Apache Linkis能将对底层技术组件的技术门槛,对于Iceberg等数据湖格式,可以探索更多的功能实现。我们也计划结合Linkis的引擎、元数据等模块,增加对Iceberg数据管理的“外挂”,完成Iceberg相关的表结构优化,小文件合并等功能实现。
加大容器化部署方面的实践
如何成为社区贡献者
1 ► 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:保姆级教程:如何成为Apache Linkis文档贡献者
2 ► 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/apache/incubator-linkis/issues/1161
3 ► 内容贡献:发布WeDataSphere开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:
4 ► 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等;
5 ► 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
本文分享自微信公众号 - WeDataSphere(gh_273e85fce73b)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。