当前位置:首页 > 报告详情

Mars on Flink 实时数据流上的Pandas.pdf

上传人: 云闲 编号:101797 2021-09-01 37页 3.22MB

1、付典阿里巴巴高级技术专家、Apache Flink PMCMars on Mars on FlinkFlink:实时数据流上的实时数据流上的PandasPandas自我介绍2013年2016年Hadoop 开发Blink SQL 开发2019年至今PyFlink 建设Apache Flink PMC&CommitterIntel 大数据部门阿里巴巴实时计算部门背景及动机背景及动机Mars on Mars on FlinkFlink使用示例使用示例未来规划未来规划#1#2#3#4#1#1背景及动机背景及动机Pandas 简介Python Scientific Stack面向数据分析,用于数据探查

2、、数据预处理等fast:性能优异,利用 Cython、Numba 等加速计算powerful/flexible:功能强大,提供了丰富的 API,可以满足绝大多数数据处理类型任务的需要easy to use:简单易用,与各种可视化工具集成比较好不足:只能单机执行,受限于单台机器的物理资源,比如CPU、内存等Flink+Pandas解决 Pandas 库只能在单台机器运行的限制连接Flink 生态和 Pandas 生态,解锁更多应用场景WhyWhyFlink+PandasPandas UDF on Flink Table API&SQLHowHow扩展 Flink 现有的 API,提供 Panda

3、s UDF 支持对于用户来说,需要学习并使用 Flink API 进行作业开发已经在 PyFlink 中支持Pandas API over Flink engine提供 Pandas API,执行引擎使用 Flink对于用户来说,使用 Pandas API 进行作业开发当前的分布式 Pandas 解决方案df.groupby(word).sum()当前的分布式 Pandas 解决方案Koalas当前的分布式 Pandas 解决方案Koalas将 Pandas 作业转换成引擎中对应的功能要点当前的分布式 Pandas 解决方案BeamDataFrame当前的分布式 Pandas 解决方案Beam

4、DataFrame将数据按照一定的原则进行切分针对切分之后的数据,执行原有的Pandas 计算要点当前的分布式 Pandas 解决方案MarsMars 简介基于张量的分布式科学计算引擎,github:https:/ Numpy、Pandas、Scikit-learn 等 Python scientific stack 的分布式化可 100%兼容 Pandas 等单机 Python 库的语义支持K8s、Ray、YARN、Bare Metal 等多种部署模式基于自研的 Actor 模型,进行代码解耦,并解决 Python GIL 问题在公有云、阿里集团内部已经生产上线,作业规模达到 1000+,单

5、作业最大 12000 core+当前的分布式 Pandas 解决方案对比KoalasBeam DataFrameMars基本原理Pandas API 作业翻译成 Spark API 作业将数据切分成chunk,并利用Pandas API 处理chunk 数据将数据切分成chunk,并利用Pandas API 处理chunk 数据优化能力与 Spark SQL 引擎深度集成,充分利用 Spark SQL 引擎的能力进行优化与 Beam 引擎深度集成并进行优化Mars 引擎内部做了大量优化流批能力批流/批批Pandas API 兼容性非 100%兼容非 100%兼容目标 100%兼容Python

6、生态丰富度只支持 Pandas只支持 Pandas支持 Pandas/Numpy/SciPy等,与 Python 生态的其他数据处理库集成比较友好,比如TensorFlow、XGBoost、PyTorch等#2 2Mars on Mars on FlinkFlinkFlink Pandas 设计考量支持流/批两种执行模式尽可能 100%兼容 Pandas API如何处理无界数据集上的 Pandas 运算操作类型说明示例Element By Element 处理Batch By Batch 处理row-wise 操作计算结果只依赖单条数据df.applymap(lambda x:x*2)对每一条

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了付典在阿里巴巴担任高级技术专家期间,针对大数据处理的需求,开发了结合Apache Flink和Pandas的实时数据流处理框架Mars。Mars能在分布式环境下执行Pandas数据处理任务,解决了Pandas单机限制的问题,并可与Flink生态和Python生态无缝集成。文章详细阐述了Mars的设计理念、原理、优势以及使用示例和未来规划。Mars通过Flink的Table API和SQL实现Pandas UDF的分布式化,优化了数据处理流程,同时支持流和批的处理模式。它还解决了如窗口切分、数据收发、Pandas作业调度和状态监控等问题。未来,Mars计划开源,支持与Flink的互转,并扩展支持更多的分布式Pandas引擎和数据源。
如何实现实时数据流上的Pandas运算?" 分布式Pandas计算的未来规划有哪些?" 谁更适合实现分布式Pandas运算?"
客服
商务合作
小程序
服务号
折叠