开发者社区> 问答> 正文

Python 生态分布化的 UDF 技术架构是什么?

Python 生态分布化的 UDF 技术架构是什么?

展开
收起
游客qzzytmszf3zhq 2021-12-07 15:41:08 628 0
1 条回答
写回答
取消 提交回答
  • 在 UDF 的架构中我们我既要考虑 Java VM 和 Python VM 的通讯问题,又要考虑在编译阶段和在运行阶段的不同需求。图中我们以绿色表示 Java VM 的行为,蓝色表示 Python VM 的行为。首先我们看看编译阶段,也就是local的设计,在local的设计是纯 API 的 mapping 调用,我们仍然要过 Py4J 来解决通讯问题,也就是如图 Python 每执行一个 API 就会同步的调用 Java 所对应的 API 。

    对 UDF 的支持上,需要添加 UDF 注册的 API , register_function,但仅仅是注册还不够,用户在自定义 Python UDF 的时候往往会依赖一些三方库,所以我们还需要增加添加依赖的方法,那就是一系列的 add 方法,比如 add_Python_file()。在编写 Python 作业的同时, Java API 也会同时被调用在提交作业之前,Java 端会构建JobGraph。然后通过 CLI 等多种方式将作业提交到集群进行运行。

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

相关电子书

更多
MaxCompute Serverless 架构演进 立即下载
阿里云消息队列的 Serverless架构演进 立即下载
青团社云原生架构实践—亿级灵活用工平台的架构实践 立即下载