一种优化Spark和机器学习框架整合的方法及装置制造方法及图纸

技术编号:32668642 阅读:13 留言:0更新日期:2022-03-17 11:22
本发明专利技术公开一种优化Spark和机器学习框架整合的方法及装置,其中,该方法包括:使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;处理后的DataFrame数据,在数据转换模块,转换为Arrow格式的数据;Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;Ray集群调度机器学习框架。本发明专利技术将大数据处理和机器学习算法运行在同一套系统;机器学习算法可以直接访问HDFS、MySQL、Elasticsearch等系统的数据,避免昂贵的数据传输成本,降低端到端学习延迟;多套机器学习框架,可以使用同一套框架,无需为每类机器学习算法构建各自的集群;机器学习框架可以有效的隔离GPU、CPU等资源。源。源。

【技术实现步骤摘要】
一种优化Spark和机器学习框架整合的方法及装置


[0001]本专利技术涉及Spark计算引擎领域,尤其是一种优化Spark和机器学习框架整合的方法及装置。

技术介绍

[0002]Spark计算引擎具备大规模数据处理的优势。Ray擅长整合TensorFlow、PyTorch等主流机器学习框架,分布式执行各种机器学习框架的代码以及实现GPU等资源隔离。Spark和Ray整合在一起,发挥两者的优势,使用同一套技术栈,Spark负责数据处理,Ray负责机器学习算法调度执行,TensorFlow、PyTorch和XGBoost等机器学习系统可直接访问大数据平台的各种格式的数据,也可直接访问MySQL、Elasticsearch等数据中间件的数据,降低数据传输成本和较高的端到端学习延迟。在Ray框架之上,多种机器学习框架使用同一套技术栈,实现分布式运行以及GPU等资源隔离,降低管理成本和硬件资源。
[0003]大数据处理和主流的人工智能的算法是运行在两个独立的系统,数据不互通。
[0004]昂贵的数据传输成本:TensorFlow、PyTorch和XGBoost等机器学习系统无法直接访问大数据平台的数据格式,也不能直接访问MySQL、Elasticsearch等数据中间件的数据。
[0005]TensorFlow、PyTorch等多个机器学习框架的分布式运行复杂,需要维护管理多个框架的集群。
[0006]多个机器学习框架集群之间不能做资源隔离,因此,需要多个集群运行不同的框架,造成资源浪费。r/>[0007]Spark内置的机器学习框架Spark Mlib,仅支持传统的机器学习算法,对深度学习算法支持有限,且无法控制GPU资源。、
[0008]Spark:用于数据处理的大数据计算引擎,可针对海量数据进行计算、分析。
[0009]Ray:Ray是一个机器学习分布式框架,可以将单机程序扩展至分布式运行,并且提供了很多机器学习的扩展库,可以将机器学习框架扩展至由很多机器组成的集群运行。
[0010]MySQL是数据库、Elasticsearch是搜索引擎,可以简单理解为:这两个中间件都是存储数据的。
[0011]GPU:图形处理器,我们电脑里面显卡的重要组成部分。在机器学习中,GPU比CPU更擅长处理大量的数据、延迟更低,常用于加速机器学习。

技术实现思路

[0012]为解决人现有技术存在的上述问题,本专利技术提供一种优化Spark和机器学习框架整合的方法及装置,通过学习算法可以直接访问HDFS、MySQL、Elasticsearch等系统的数据,避免昂贵的数据传输成本,降低端到端学习延迟。
[0013]为实现上述目的,本专利技术采用下述技术方案:
[0014]在本专利技术一实施例中,提出了一种优化Spark和机器学习框架整合的方法,该方法包括:
[0015]S01、使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;
[0016]S02、处理后的DataFrame数据,在数据转换模块,转换为Arrow格式的数据;
[0017]S03、Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;
[0018]S04、Ray集群调度机器学习框架。
[0019]进一步地,所述S01中读取数据为异构数据源的数据,包括但不限于MySQL、HDFS、Elasticsearch。
[0020]进一步地,所述S01中处理数据的处理逻辑包括但不限于:字符串截取、数据类型转换、字段映射、时间转换、数据关联;所有的处理逻辑均输入DataFrame格式数据,输出DataFrame格式新数据。
[0021]进一步地,所述S03中TensorFlow、Pytorch等机器学习框架运行在Ray集群之上,无需单独构建独占的集群。
[0022]进一步地,所述S04包括:
[0023]S041、Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据;
[0024]S042、Ray分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行;
[0025]S043、Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。
[0026]在本专利技术一实施例中,还提出了一种优化Spark和机器学习框架整合的装置,该装置包括:
[0027]DataFrame数据生成模块、使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;
[0028]Arrow数据转换模块、处理后的DataFrame数据,在数据转换模块,转换为Arrow格式的数据;
[0029]数据传递模块、Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;
[0030]调度模块、Ray集群调度机器学习框架。
[0031]进一步地,所述DataFrame数据生成模块中读取数据为异构数据源的数据,包括但不限于MySQL、HDFS、Elasticsearch。
[0032]进一步地,所述DataFrame数据生成模块中处理数据的处理逻辑包括但不限于:字符串截取、数据类型转换、字段映射、时间转换、数据关联;所有的处理逻辑均输入DataFrame格式数据,输出DataFrame格式新数据。
[0033]进一步地,所述数据传递模块中TensorFlow、Pytorch等机器学习框架运行在Ray集群之上,无需单独构建独占的集群。
[0034]进一步地,所述调度模块包括:
[0035]Ray接收读取模块、Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据;
[0036]Ray发送启动模块、Ray分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行;
[0037]Ray集群控制模块、Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。
[0038]在本专利技术一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述优化Spark和机器学习框架整合的方法。
[0039]在本专利技术一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行优化Spark和机器学习框架整合的方法的计算机程序。
[0040]有益效果:
[0041]本专利技术将大数据处理和机器学习算法运行在同一套系统;机器学习算法可以直接访问HDFS、MySQL、Elasticsearch等系统的数据,避免昂贵的数据传输成本,降低端到端学习延迟;多套机器学习框架,可以使用同一套框架,无需为每类机器学习算法构建各自的集群;机器学习框架可以有效的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种优化Spark和机器学习框架整合的方法,其特征在于,该方法包括:S01、使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;S02、处理后的DataFrame数据,在数据转换模块,转换为Arrow格式的数据;S03、Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;S04、Ray集群调度机器学习框架。2.根据权利要求1所述的优化Spark和机器学习框架整合的方法,其特征在于,所述S01中读取数据为异构数据源的数据,包括但不限于MySQL、HDFS、Elasticsearch。3.根据权利要求1所述的优化Spark和机器学习框架整合的方法,其特征在于,所述S01中处理数据的处理逻辑包括但不限于:字符串截取、数据类型转换、字段映射、时间转换、数据关联;所有的处理逻辑均输入DataFrame格式数据,输出DataFrame格式新数据。4.根据权利要求1所述的优化Spark和机器学习框架整合的方法,其特征在于,所述S03中TensorFlow、Pytorch等机器学习框架运行在Ray集群之上,无需单独构建独占的集群。5.根据权利要求1所述的优化Spark和机器学习框架整合的方法,其特征在于,所述S04包括:S041、Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据;S042、Ray分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行;S043、Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。6.一种优化Spark和机器学习框架整合的装置,其特征在于,该装置包括:DataFrame数据生成模块、使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;Arrow数据转换模块、处理后的DataFrame数据,在数...

【专利技术属性】
技术研发人员:周朝卫
申请(专利权)人:中盈优创资讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1