CN114185519A - 一种优化Spark和机器学习框架整合的方法及装置 - Google Patents
一种优化Spark和机器学习框架整合的方法及装置 Download PDFInfo
- Publication number
- CN114185519A CN114185519A CN202111490756.5A CN202111490756A CN114185519A CN 114185519 A CN114185519 A CN 114185519A CN 202111490756 A CN202111490756 A CN 202111490756A CN 114185519 A CN114185519 A CN 114185519A
- Authority
- CN
- China
- Prior art keywords
- data
- machine learning
- ray
- learning framework
- spark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000010354 integration Effects 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000006243 chemical reaction Methods 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 15
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开一种优化Spark和机器学习框架整合的方法及装置,其中,该方法包括:使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;处理后的DataFrame数据,在数据转换模块,转换为Arrow格式的数据;Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;Ray集群调度机器学习框架。本发明将大数据处理和机器学习算法运行在同一套系统;机器学习算法可以直接访问HDFS、MySQL、Elasticsearch等系统的数据,避免昂贵的数据传输成本,降低端到端学习延迟;多套机器学习框架,可以使用同一套框架,无需为每类机器学习算法构建各自的集群;机器学习框架可以有效的隔离GPU、CPU等资源。
Description
技术领域
本发明涉及Spark计算引擎领域,尤其是一种优化Spark和机器学习框架整合的方法及装置。
背景技术
Spark计算引擎具备大规模数据处理的优势。Ray擅长整合TensorFlow、PyTorch等主流机器学习框架,分布式执行各种机器学习框架的代码以及实现GPU等资源隔离。Spark和Ray整合在一起,发挥两者的优势,使用同一套技术栈,Spark负责数据处理,Ray负责机器学习算法调度执行,TensorFlow、PyTorch和XGBoost等机器学习系统可直接访问大数据平台的各种格式的数据,也可直接访问MySQL、Elasticsearch等数据中间件的数据,降低数据传输成本和较高的端到端学习延迟。在Ray框架之上,多种机器学习框架使用同一套技术栈,实现分布式运行以及GPU等资源隔离,降低管理成本和硬件资源。
大数据处理和主流的人工智能的算法是运行在两个独立的系统,数据不互通。
昂贵的数据传输成本:TensorFlow、PyTorch和XGBoost等机器学习系统无法直接访问大数据平台的数据格式,也不能直接访问MySQL、Elasticsearch等数据中间件的数据。
TensorFlow、PyTorch等多个机器学习框架的分布式运行复杂,需要维护管理多个框架的集群。
多个机器学习框架集群之间不能做资源隔离,因此,需要多个集群运行不同的框架,造成资源浪费。
Spark内置的机器学习框架Spark Mlib,仅支持传统的机器学习算法,对深度学习算法支持有限,且无法控制GPU资源。、
Spark:用于数据处理的大数据计算引擎,可针对海量数据进行计算、分析。
Ray:Ray是一个机器学习分布式框架,可以将单机程序扩展至分布式运行,并且提供了很多机器学习的扩展库,可以将机器学习框架扩展至由很多机器组成的集群运行。
MySQL是数据库、Elasticsearch是搜索引擎,可以简单理解为:这两个中间件都是存储数据的。
GPU:图形处理器,我们电脑里面显卡的重要组成部分。在机器学习中,GPU比CPU更擅长处理大量的数据、延迟更低,常用于加速机器学习。
发明内容
为解决人现有技术存在的上述问题,本发明提供一种优化Spark和机器学习框架整合的方法及装置,通过学习算法可以直接访问HDFS、MySQL、Elasticsearch等系统的数据,避免昂贵的数据传输成本,降低端到端学习延迟。
为实现上述目的,本发明采用下述技术方案:
在本发明一实施例中,提出了一种优化Spark和机器学习框架整合的方法,该方法包括:
S01、使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;
S02、处理后的DataFrame数据,在数据转换模块,转换为Arrow格式的数据;
S03、Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;
S04、Ray集群调度机器学习框架。
进一步地,所述S01中读取数据为异构数据源的数据,包括但不限于MySQL、HDFS、Elasticsearch。
进一步地,所述S01中处理数据的处理逻辑包括但不限于:字符串截取、数据类型转换、字段映射、时间转换、数据关联;所有的处理逻辑均输入DataFrame格式数据,输出DataFrame格式新数据。
进一步地,所述S03中TensorFlow、Pytorch等机器学习框架运行在Ray集群之上,无需单独构建独占的集群。
进一步地,所述S04包括:
S041、Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据;
S042、Ray分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行;
S043、Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。
在本发明一实施例中,还提出了一种优化Spark和机器学习框架整合的装置,该装置包括:
DataFrame数据生成模块、使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;
Arrow数据转换模块、处理后的DataFrame数据,在数据转换模块,转换为Arrow格式的数据;
数据传递模块、Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;
调度模块、Ray集群调度机器学习框架。
进一步地,所述DataFrame数据生成模块中读取数据为异构数据源的数据,包括但不限于MySQL、HDFS、Elasticsearch。
进一步地,所述DataFrame数据生成模块中处理数据的处理逻辑包括但不限于:字符串截取、数据类型转换、字段映射、时间转换、数据关联;所有的处理逻辑均输入DataFrame格式数据,输出DataFrame格式新数据。
进一步地,所述数据传递模块中TensorFlow、Pytorch等机器学习框架运行在Ray集群之上,无需单独构建独占的集群。
进一步地,所述调度模块包括:
Ray接收读取模块、Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据;
Ray发送启动模块、Ray分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行;
Ray集群控制模块、Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。
在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述优化Spark和机器学习框架整合的方法。
在本发明一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行优化Spark和机器学习框架整合的方法的计算机程序。
有益效果:
本发明将大数据处理和机器学习算法运行在同一套系统;机器学习算法可以直接访问HDFS、MySQL、Elasticsearch等系统的数据,避免昂贵的数据传输成本,降低端到端学习延迟;多套机器学习框架,可以使用同一套框架,无需为每类机器学习算法构建各自的集群;机器学习框架可以有效的隔离GPU、CPU等资源。
附图说明
图1是本发明一实施例的优化Spark和机器学习框架整合的方法流程示意图;
图2是本发明一实施例的优化Spark和机器学习框架整合的装置结构示意图;
图3是本发明一实施例的计算机设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本发明涉及的名词及其解释:
DataFrame是spark中数据的一个不可变分布式集合,它包含数据和对应的schema信息,类似数据的表,例如dataframe的schema类似数据库的字段名。在spark中,对dataframe的操作是非常方便的,例如把dataframe注册为表,这样就可以写sql进行数据分析了。因此对数据源的加载读取,都是生成了dataframe,后续的数据处理就非常方便。
Arrow格式的数据,可以理解为数据格式的一种,类比CSV、JSON格式等。这个格式,Ray可以直接读取,而其他格式则无法读取。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种优化Spark和机器学习框架整合的方法及装置,通过学习算法可以直接访问HDFS、MySQL、Elasticsearch等系统的数据,避免昂贵的数据传输成本,降低端到端学习延迟。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
图1是本发明一实施例的优化Spark和机器学习框架整合的方法流程示意图。如图1所示,该方法包括:
S01、使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;
S02、处理后的DataFrame数据,在数据转换模块,转换为Arrow格式的数据;
S03、Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;
S04、Ray集群调度机器学习框架。
所述S01中读取数据为异构数据源的数据,包括但不限于MySQL、HDFS、Elasticsearch。
所述S01中处理数据的处理逻辑包括但不限于:字符串截取、数据类型转换、字段映射、时间转换、数据关联;所有的处理逻辑均输入DataFrame格式数据,输出DataFrame格式新数据。
所述S03中TensorFlow、Pytorch等机器学习框架运行在Ray集群之上,无需单独构建独占的集群。
所述S04包括:
S041、Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据;
S042、Ray分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行;
S043、Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
为了对上述优化Spark和机器学习框架整合的方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
实施例一:
S01、数据读取,使用Spark的数据源接口,读取MySQL、HDFS、Elasticsearch等各类异构数据源的数据。将读取的数据转换为Spark的DataFrame格式。可同时加载多个数据源,这些数据源可进行管理等。
S02、数据处理,数据处理模块的输入为读取模块生成的DataFrame数据,使用Spark进行处理,这里的处理逻辑包括字符串截取、数据类型转换、字段映射、时间转换、数据关联等各种类型操作。
每种类型的操作的输入是DataFrame格式数据,输出的新数据也是DataFrame格式。这样可以保证在数据的读取和各种处理操作过程中,数据不落地,并且可以利用Spark的分布式处理能力,可以处理海量的数据。
最终数据处理模块的输出是Spark的DataFrame格式的数据。
S03、数据交换,这一步主要是打通Spark和机器学习框架之间的数据序列化问题,将数据处理模块处理后的DataFrame格式数据,转换为Arrow格式,用于后续机器学习框架的处理。
由于Tensorflow、Pytorch等主流机器学习框架都是使用Python进行开发,而Spark主要使用Java/Scala进行开发,这两类语言开发生成的数据不能直接互通,除非将处理的中间结果落地存储成文件,这就必然会导致大量的IO成本。因此,最优化的做法是,Spark处理的数据可以直接传递给Tensorflow、Pytorch等主流机器学习框架使用,没有中间数据落地的成本。
Spark处理完成的DataFrame数据,在数据交换模块,在Spark中调用Arrow转换器,将DataFrame格式转换为Arrow格式,即在Java/Scala中实现一套将DataFrame转成Arrow格式的功能传递给上层的Ray框架进行读取。Ray框架直接读取Array格式的数据,传递给Tensorflow、Pytorch等主流机器学习框架使用。
使用示例:
1)、定义Python的机器学习代码
2)、定义Arrow的转换器
在该转换器中,嵌入上一步的Python代码。
3)、将Spark处理后的数据,调用Arrow的转换器
val scalaConext=new ScalaContext
val taskContext=new AppTaskContextImpl(arrowRunner,batch)
arrowRunner.compute(df,taskContext)
其中红色部分的df,就是Spark处理后的数据,数据格式为DataFrame。
S04、Ray集群调度机器学习框架
Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据,分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行,同时Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。
实施例二:
S01、读取数据
使用Spark读取HDFS、MySQL、Elasticsearch等系统数据
1)、数据源1,读取日志数据
val logDataFrame=spark.read
.format("mysql")//指定读取mysql数据库的标识
.option(Map
(//指定读取的数据库表、主机、端口、密码
"dbtable"->"test.accesslog",
"host"->"192.168.111.22",
"port"->"3306",
"password"->"123456"
)).load()
上面的logDataFrame就是读取数据后,生成的一个DataFrame。
2)、数据源2,读取IP地址对应的域名数据
val ipDataFrame=spark.read
.format("elasticsearch等系统数据")//指定读取elasticsearch等系统数据的标识
.option(Map
(//指定读取Elasticsearch的索引、主机、端口、密码
"index"->"ip_domain",
"host"->"192.168.111.22",
"port"->"9200",
"password"->"123456"
)).load()
上面的ipDataFrame就是读取数据后,生成的一个DataFrame。
S02、数据处理
对上面生成的dataframe进行处理,这里执行数据表的关联和字段的截取两个数据处理操作。
1)、数据处理1:数据关联
假设logDataFrame具有字段ip、time、flow等。
ipDataFrame具有字段ip、domain等。
两个DataFrame关联,生成新的DataFrame,名为newDataFrame1。
newDataFrame1=logDataFrame.join(ipDataFrame,"ip")//指定需要关联的两个DataFrame,以及关联的字段ip
2)、对上面生成的新的DataFrame执行字符串的截取,生成新的DataFrame,名为newDataFrame2。
newDataFrame2=newDataFrame1.withColumn("domain",expr("substr(domain,1,2)"))
S03、数据交换
1)、定义Python的机器学习代码
该Python代码包括机器学习的整体流程,例如:机器学习的训练、预测、评估等,总之,这部分是python的代码,执行任意的机器学习相关的逻辑。
2)、定义Arrow的转换器
在该转换器中,嵌入上一步的Python代码。
3)、将Spark处理后的数据,调用Arrow的转换器
val scalaConext=new ScalaContext
val taskContext=new AppTaskContextImpl(arrowRunner,batch)
arrowRunner.compute(newDataFrame2,taskContext)
其中newDataFrame2,就是Spark处理后的数据,数据格式为DataFrame。
S04、Ray集群调度机器学习框架
Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据,分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行,同时Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。
基于同一发明构思,本发明还提出一种优化Spark和机器学习框架整合的装置。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是本发明一实施例的优化Spark和机器学习框架整合的装置结构示意图。如图2所示,该装置包括:
DataFrame数据生成模块101、使用Spark的数据源接口读取数据和处理数据,生成DataFrame类型的数据;
Arrow数据转换模块102、处理后的DataFrame数据,在数据转换模块,转换为Arrow格式的数据;
数据传递模块103、Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;
调度模块104、Ray集群调度机器学习框架。
所述DataFrame数据生成模块101中读取数据为异构数据源的数据,包括但不限于MySQL、HDFS、Elasticsearch。
所述DataFrame数据生成模块101中处理数据的处理逻辑包括但不限于:字符串截取、数据类型转换、字段映射、时间转换、数据关联;所有的处理逻辑均输入DataFrame格式数据,输出DataFrame格式新数据。
所述数据传递模块103中TensorFlow、Pytorch等机器学习框架运行在Ray集群之上,无需单独构建独占的集群。
所述调度模块104包括:
Ray接收读取模块、Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据;
Ray发送启动模块、Ray分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行;
Ray集群控制模块、Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。
应当注意,尽管在上文详细描述中提及了优化Spark和机器学习框架整合的装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
基于前述发明构思,如图3所示,本发明还提出一种计算机设备200,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序230,处理器220执行计算机程序230时实现前述优化Spark和机器学习框架整合的方法。
基于前述发明构思,本发明还提出一种计算机可读存储介质,计算机可读存储介质存储有执行前述优化Spark和机器学习框架整合的方法的计算机程序。
本发明提出的优化Spark和机器学习框架整合的方法及装置,将大数据处理和机器学习算法运行在同一套系统;机器学习算法可以直接访问HDFS、MySQL、Elasticsearch等系统的数据,避免昂贵的数据传输成本,降低端到端学习延迟;多套机器学习框架,可以使用同一套框架,无需为每类机器学习算法构建各自的集群;机器学习框架可以有效的隔离GPU、CPU等资源。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包含的各种修改和等同布置。
对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (12)
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数据,在数据转换模块,转换为Arrow格式的数据;
数据传递模块、Arrow格式的数据通过Ray框架,传递给TensorFlow、Pytorch等机器学习框架使用;
调度模块、Ray集群调度机器学习框架。
7.根据权利要求6所述的优化Spark和机器学习框架整合的装置,其特征在于,所述DataFrame数据生成模块中读取数据为异构数据源的数据,包括但不限于MySQL、HDFS、Elasticsearch。
8.根据权利要求6所述的优化Spark和机器学习框架整合的装置,其特征在于,所述DataFrame数据生成模块中处理数据的处理逻辑包括但不限于:字符串截取、数据类型转换、字段映射、时间转换、数据关联;所有的处理逻辑均输入DataFrame格式数据,输出DataFrame格式新数据。
9.根据权利要求6所述的优化Spark和机器学习框架整合的装置,其特征在于,所述数据传递模块中TensorFlow、Pytorch等机器学习框架运行在Ray集群之上,无需单独构建独占的集群。
10.根据权利要求6所述的优化Spark和机器学习框架整合的装置,其特征在于,所述调度模块包括:
Ray接收读取模块、Ray接收到特定的机器学习框架的代码,读取从数据交换模块生成的Arrow格式的数据;
Ray发送启动模块、Ray分布式发送至Ray集群的节点,由Ray集群启动TensorFlow或Pytorch的代码并分布式执行;
Ray集群控制模块、Ray集群控制GPU、CPU以及内存等资源,保证性能和稳定性。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-5所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1-5所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490756.5A CN114185519A (zh) | 2021-12-08 | 2021-12-08 | 一种优化Spark和机器学习框架整合的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111490756.5A CN114185519A (zh) | 2021-12-08 | 2021-12-08 | 一种优化Spark和机器学习框架整合的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185519A true CN114185519A (zh) | 2022-03-15 |
Family
ID=80542698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111490756.5A Pending CN114185519A (zh) | 2021-12-08 | 2021-12-08 | 一种优化Spark和机器学习框架整合的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185519A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114511100A (zh) * | 2022-04-15 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 一种支持多引擎框架的图模型任务实现方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063842A (zh) * | 2018-07-06 | 2018-12-21 | 无锡雪浪数制科技有限公司 | 一种兼容多种算法框架的机器学习平台 |
CN111353609A (zh) * | 2020-02-28 | 2020-06-30 | 平安科技(深圳)有限公司 | 一种机器学习系统 |
CN113177034A (zh) * | 2021-05-06 | 2021-07-27 | 南京大学 | 一种跨平台统一的分布式图数据处理方法 |
-
2021
- 2021-12-08 CN CN202111490756.5A patent/CN114185519A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109063842A (zh) * | 2018-07-06 | 2018-12-21 | 无锡雪浪数制科技有限公司 | 一种兼容多种算法框架的机器学习平台 |
CN111353609A (zh) * | 2020-02-28 | 2020-06-30 | 平安科技(深圳)有限公司 | 一种机器学习系统 |
CN113177034A (zh) * | 2021-05-06 | 2021-07-27 | 南京大学 | 一种跨平台统一的分布式图数据处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114511100A (zh) * | 2022-04-15 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 一种支持多引擎框架的图模型任务实现方法和系统 |
CN114511100B (zh) * | 2022-04-15 | 2023-01-13 | 支付宝(杭州)信息技术有限公司 | 一种支持多引擎框架的图模型任务实现方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11681564B2 (en) | Heterogeneous computing-based task processing method and software and hardware framework system | |
CN110168516B (zh) | 用于大规模并行处理的动态计算节点分组方法及系统 | |
US9983857B2 (en) | Dynamic computational acceleration using a heterogeneous hardware infrastructure | |
US9892144B2 (en) | Methods for in-place access of serialized data | |
US8682876B2 (en) | Techniques to perform in-database computational programming | |
CN108509270B (zh) | 一种国产申威26010众核处理器上K-means算法的高性能并行实现方法 | |
CN102193830B (zh) | 面向众核环境的分治映射/归约并行编程模型 | |
WO2016165562A1 (en) | Apparatus and method for using parameterized intermediate representation for just-in-time compilation in database query execution engine | |
CN107766526B (zh) | 数据库访问方法、装置及系统 | |
CN103019838B (zh) | 一种基于多dsp处理器平台的分布式实时多任务操作系统 | |
CN114185519A (zh) | 一种优化Spark和机器学习框架整合的方法及装置 | |
CN115033188A (zh) | 一种基于zns固态硬盘的存储硬件加速模块系统 | |
CN111767304A (zh) | 一种跨数据库的数据查询方法、查询装置及可读介质 | |
WO2022078400A1 (zh) | 一种对多维数据进行处理的设备、方法和计算机程序产品 | |
CN114327479A (zh) | 用于大数据的数据处理方法和数据处理装置 | |
Rodriguez et al. | Zero-cost, Arrow-enabled data interface for Apache Spark | |
WO2023000561A1 (zh) | 一种对数据库操作进行加速的方法和装置 | |
CN115982230A (zh) | 数据库的跨数据源查询方法、系统、设备及存储介质 | |
CN108073389A (zh) | 一种基于脚本语言的引擎系统 | |
CN111191106B (zh) | Dsl的构建方法、系统、电子设备和介质 | |
Lu et al. | SQL2FPGA: Automatic Acceleration of SQL Query Processing on Modern CPU-FPGA Platforms | |
Ashby et al. | Migrating a scientific application from MPI to coarrays | |
US11954510B2 (en) | Native-image in-memory cache for containerized ahead-of-time applications | |
CN111861860B (zh) | 一种面向ai智能soc芯片的图像加速处理系统 | |
CN111488326B (zh) | MapReduce作业执行方法、节点设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |