Flink 流批一体在模型特征场景的使用

💡 原文中文,约5600字,阅读约需14分钟。
📝

内容提要

本文总结了B站资深开发工程师张杨在Flink Forward Asia 2023中的分享,包括模型特征场景、流批一体、性能优化和未来展望。

🎯

关键要点

  • 张杨在Flink Forward Asia 2023分享了B站的特征工程经验,主要包括模型特征场景、流批一体、性能优化和未来展望。

  • 模型特征场景中,B站使用Kafka和Flink进行实时特征计算和样本生成,离线特征计算则使用Spark。

  • 双链路开发架构带来了学习成本和计算一致性的问题,用户需要同时掌握Spark和Flink。

  • 流批一体方案通过Flink 1.15版本解决了实时和离线场景的兼容性问题,支持多种存储。

  • 在流批一体的实现中,优化了语法支持和UDF兼容性,减少了用户的重复开发工作。

  • 流批模式下的Connector优化,针对Streaming和Batch的不同需求进行了调整。

  • 通过错峰资源利用,优化了K8S集群的资源调度,提高了资源利用率。

  • 性能优化方面,采用Apache Celeborn Shuffle替代Netty Shuffle,提升了稳定性和性能。

  • 调度层面进行了优化,拆分了Streaming和Batch的调度器,以满足不同的资源需求。

  • 未来展望包括探索更多特征场景的流批一体,提升特征样本计算性能,以及支持更多引擎的UDF。

延伸问答

Flink流批一体的主要优势是什么?

Flink流批一体方案通过兼容实时和离线场景,减少了用户的重复开发工作,并优化了资源调度,提高了计算效率。

B站在特征计算中使用了哪些技术?

B站在特征计算中使用了Kafka进行实时数据流处理,Flink进行实时特征计算,Spark进行离线特征计算。

流批一体方案如何解决计算一致性问题?

流批一体方案通过Flink 1.15版本的兼容性优化,减少了实时和离线计算结果之间的差异,提升了计算一致性。

在性能优化方面,B站做了哪些改进?

B站通过采用Apache Celeborn Shuffle替代Netty Shuffle,优化了Shuffle性能,并进行了调度器的拆分以满足不同资源需求。

流批一体方案对资源调度有什么影响?

流批一体方案通过错峰资源利用和K8S集群的优化,提高了资源利用率,确保了流和批任务的高效调度。

未来B站在流批一体方面有哪些展望?

未来B站希望探索更多特征场景的流批一体,提升特征样本计算性能,并支持更多引擎的UDF。

🏷️

标签

➡️

继续阅读