开发者社区> 问答> 正文

Python 生态分布化的 UDF 执行技术选型是什么?

Python 生态分布化的 UDF 执行技术选型是什么?

展开
收起
游客qzzytmszf3zhq 2021-12-07 15:39:40 605 0
1 条回答
写回答
取消 提交回答
  • 解决 Python UDF 执行问题可不仅仅是 VM 之间通讯的问题了,它涉及到 Python 执行环境的管理,业务数据在 Java 和 Python 之间的解析, Flink State Backend 能力向 Python 的输出, Python UDF 执行的监控等等,是一个非常复杂的问题。面对这样复杂的问题,前面我们介绍过 Apache Beam ,支持多引擎多语言,无所不能的大象可以出场了,我们来看一下 Beam 是怎么解决 Python UDF 执行问题的 :)

    Beam 为了解决多语言和多引擎支持问题高度抽象了一个叫 Portability Framework 的架构,如下图,Beam 目前可以支持 Java/Go/Python 等多种语言,其中图下方 Beam Fu Runners 和 Execution 之间就解决了 引擎和 UDF 执行环境的问题。其核心是对利用 Protobuf 进行数据结构抽象,利用 gRPC 协议进行通讯,同时封装了核心的 gRPC 服务。所以这时候 Beam 更像是一只萤火虫,照亮了 PyFlink 解决 UDF 执行问题之路。:)(多说一嘴,萤火虫已经成为了 Aapche Beam 的吉祥物)。

    2021-12-07 15:45:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载