CN111031123B - Spark任务的提交方法、***、客户端及服务端 - Google Patents

Spark任务的提交方法、***、客户端及服务端 Download PDF

Info

Publication number
CN111031123B
CN111031123B CN201911255380.2A CN201911255380A CN111031123B CN 111031123 B CN111031123 B CN 111031123B CN 201911255380 A CN201911255380 A CN 201911255380A CN 111031123 B CN111031123 B CN 111031123B
Authority
CN
China
Prior art keywords
spark
spark task
submitting
task
edge node
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.)
Active
Application number
CN201911255380.2A
Other languages
English (en)
Other versions
CN111031123A (zh
Inventor
周朝卫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unihub China Information Technology Co Ltd
Original Assignee
Unihub China Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Unihub China Information Technology Co Ltd filed Critical Unihub China Information Technology Co Ltd
Priority to CN201911255380.2A priority Critical patent/CN111031123B/zh
Publication of CN111031123A publication Critical patent/CN111031123A/zh
Application granted granted Critical
Publication of CN111031123B publication Critical patent/CN111031123B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种Spark任务的提交方法、***、客户端及服务端,其中,应用于***的任务的提交方法包括:客户端以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出;服务端获取以http方式发来的Spark任务提交请求,根据Spark任务提交请求,创建基于共享统一切入点变量的会话,提交Spark任务至大数据集群的边缘节点;其中,该大数据集群的边缘节点中存在Spark应用,该Spark应用以常驻进程的方式监听预设端口的Spark任务。上述技术方案为基于ServerSocket的Spark任务提交方案,提高了Spark任务提交的效率,实现了Spark任务提交过程的数据共享。

Description

Spark任务的提交方法、***、客户端及服务端
技术领域
本发明涉及数据处理技术领域,特别涉及一种Spark任务的提交方法、***、客户端及服务端。
背景技术
Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎,其为大数据处理主流的计算框架,同Mapreduce、Flink是同类产品。传统的Spark任务提交是在操作***上使用spark-submit命令的方式提交任务,提交示例如下:
spark-submit\
--master yarn\
--queue root.engineering\
--class org.app.SparkPi\
/home/hadoop/sparkApp.jar。
上述提交方式需要登录大数据集群的边缘节点,在大数据集群的边缘节点提交spark任务,因此,该任务提交方式存在如下缺陷:
(1)任务启动时间长:传统的使用spark-submit提交任务启动时间长,从任务提交到启动完成需要耗时90秒左右。
(2)数据不能共享:对于公共的数据,使用传统的spark-submit命令的方式提交,每次都需要重新加载数据,任务间的数据不能共享。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种Spark任务的提交方法,应用于***,用以提高Spark任务提交的效率,实现Spark任务提交过程的数据共享,该方法包括:
客户端接收用户输入的Spark任务提交请求,以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出;
服务端获取以http方式发来的Spark任务提交请求,根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话,根据所述基于共享统一切入点变量的会话,提交Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务。
本发明实施例还提供了一种Spark任务的提交方法,应用于客户端,用以提高Spark任务提交的效率,实现Spark任务提交过程的数据共享,该方法包括:
接收用户输入的Spark任务提交请求;
以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出。
本发明实施例还提供了一种Spark任务的提交方法,应用于服务端,用以提高Spark任务提交的效率,实现Spark任务提交过程的数据共享,该方法包括:
获取以http方式发来的Spark任务提交请求;
根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话;
根据所述基于共享统一切入点变量的会话,提交Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务。
本发明实施例还提供了一种Spark任务的提交***,用以提高Spark任务提交的效率,实现Spark任务提交过程的数据共享,该***包括:
客户端,用于接收用户输入的Spark任务提交请求,以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出;
服务端,用于获取以http方式发来的Spark任务提交请求,根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话,根据所述基于共享统一切入点变量的会话,提交Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务。
本发明实施例还提供了一种Spark任务的提交客户端,用以提高Spark任务提交的效率,实现Spark任务提交过程的数据共享,该客户端包括:
第一接收单元,用于接收用户输入的Spark任务提交请求;
第一发送单元,用于以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出。
本发明实施例还提供了一种Spark任务的提交服务端,用以提高Spark任务提交的效率,实现Spark任务提交过程的数据共享,该服务端包括:
获取单元,用于获取以http方式发来的Spark任务提交请求;
创建单元,用于根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话;
提交单元,用于根据所述基于共享统一切入点变量的会话,提交Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述Spark任务的提交方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述Spark任务的提交方法的计算机程序。
本发明实施例提供的技术方案的有益技术效果是:
(1)与现有技术中需要登录大数据集群的边缘节点,在大数据集群的边缘节点以spark-submit命令提交spark任务的方案相比较,本发明实施例提供的技术方案中:首先,客户端以Http的方式提交spark任务,由于是http请求,因此只需要知道IP地址和端口以及网络连通即可提交任务,无需登录到大数据集群的边缘节点,实现可以从任何位置提交spark任务;其次,以http请求的方式提交spark任务,没有spark-submit提交任务的启动开销,实现了Spark任务启动零开销,提高Spark任务提交的效率。
(2)与现有技术中使用传统的spark-submit命令的方式提交Spark任务,每次都需要重新加载数据,任务间的数据不能共享的方案相比较,本发明实施例提供的技术方案中:服务端获取以http方式发来的Spark任务提交请求,根据Spark任务提交请求创建了基于共享统一切入点变量的会话,根据所述基于共享统一切入点变量的会话,提交Spark任务,由于只有一个Spark统一切入点,因此基于这个Spark统一切入点的公共数据是可以在多个http请求之间共享的,实现了Spark任务提交过程的数据共享。
综上,本发明实施例提供的技术方案为基于ServerSocket的Spark任务提交方案,提高了Spark任务提交的效率,实现了Spark任务提交过程的数据共享。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中基于ServerSocket的Spark任务提交的应用场景示意图;
图2是本发明实施例中应用于***的Spark任务的提交方法流程示意图;
图3A和图3B是本发明实施例中Spark任务提交的原理示意图;
图4是本发明实施例中应用于客户端的Spark任务的提交方法的流程示意图;
图5是本发明实施例中应用于服务端的Spark任务的提交方法的流程示意图;
图6是本发明实施例中Spark任务的提交***的结构示意图;
图7是本发明实施例中Spark任务的提交客户端的结构示意图;
图8是本发明实施例中Spark任务的提交服务端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在介绍本发明实施例之前,首先对本发明实施例涉及的技术名词进行介绍。
1.ServerSocket:在客户/服务器通信模式中,ServerSocket作为服务端,指定监听的端口,接收客户连接请求,并生成与客户端连接的Socket路径。ServerSocket与Socket不同,ServerSocket是等待客户端的请求,一旦获得一个连接请求,就创建一个Socket示例来与客户端进行通信。
2.Socket:在客户端/服务器通信模式中,Socket是双方通信通道的抽象封装,用户可通过配置Socket的参数并构建Socket来完成双方的连接,并通过此通道进行网络通信。Socket类代表一个客户端套接字,即任何时候连接到一个远程服务器应用时构建所需的socket。
本发明实施例提供的技术方案使用Java JDK内置的ServerSocket API,在实现一个具备Spark处理逻辑的http的服务器,客户端通过http协议发起请求,ServerSocket处理请求并将处理结果响应客户端,实现Spark任务提交的服务化改造,解决传统Spark任务提交的痛点问题,其为基于ServerSocket的Spark任务提交方案。具体地,Spark应用以spark-submit命令提交后,以常驻进程的方式在指定端口监听服务请求,后续数据处理的操作都是通过http服务的方式发起请求,socket处理请求并响应客户端,即图1中的服务端(Socket服务)监听到客户端发来的http任务提交请求,将http任务提交请求发送至任一集群边缘节点,并反馈执行结果给客户端。任务提交的异常检测和重试机制可实现多个spark服务的容错和负载均衡。下面对该Spark任务提交方案进行详细介绍。
图1是本发明实施例中基于ServerSocket的Spark任务提交的应用场景示意图,如图1所示,本发明实施例提供的Spark任务的提交方案包括一个Spark任务的提交***(可以是如图6所示的Spark任务的提交客户端),该***包括:客户端(可以是如图7所示的Spark任务的提交客户端),服务端(可以是如图8所示的Spark任务的提交服务端)。下面对该***及包含的各个部分及其方法进行详细介绍。
由于发明人发现了背景技术中提到的技术问题,提出了如下Spark任务的提交的方法。图2是本发明实施例中应用于***的Spark任务的提交方法流程示意图,如图2所示,该方法包括如下步骤:
步骤101:客户端接收用户输入的Spark任务提交请求,以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出;
步骤102:服务端获取以http方式发来的Spark任务提交请求,根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话,根据所述基于共享统一切入点变量的会话,提交Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务。
本发明实施例提供Spark任务提交的方法为基于ServerSocket的Spark任务提交方法,提高了Spark任务提交的效率,实现了Spark任务提交过程的数据共享。
下面对本发明实施例提供Spark任务提交的方法的详细实施方案进行详细介绍。
一、首先,介绍实现资源共享的方案。
发明人还发现如下技术问题:
(1)对任务需要的CPU、内存等资源估算难度大:不同的Spark任务数据量、计算的复杂度均存在差异,很难预估每个spark需要的计算资源。
(2)计算资源不能共享:Spark任务彼此之间的CPU、内存等资源不能共享,例如spark任务申请了10个CPU core(CPU内核),每个core对应spark的一个task(任务,Task是spark中的概念,一个spark应用程序会分成多个job,即作业,一个job会分成多个task),当9个task执行完成,剩下的一个task可能由于数据倾斜等执行非常慢,导致所有的CPU core无法释放,直至所有spark的task执行完毕。
由于发明人发现了如上技术问题,于是提出了如下申请资源并实现资源共享的方案。
在一个实施例中,上述Spark任务的提交方法还可以包括:
服务端在向大数据集群的边缘节点发出第一次启动Spark应用命令时,申请预设容量的资源;所述预设容量的资源用于供多个以http方式提交的Spark任务共享。
具体实施时,在本发明实施例实施的初期,以服务的方式完成spark任务的程序后,以spark-submit方式提交spark应用,即在大数据平台的边缘节点启动基于SocketServer的Spark应用,例如准备多个边缘节点,在每个边缘节点启动基于SocketServer的Spark应用,每个边缘节点监听服务端口,以接收外部spark任务提交请求;spark任务启动后,spark将以常驻进程的方式在指定端口监听http请求;后续的数据处理逻辑都是通过http请求的方式发起的,而不用再次以spark-submit方式启动spark,也就是说,只需要第一次使用spark-submit命令启动spark应用,后面都无需使用spark-submit命令启动spark任务。第一次启动的时候,就可以多申请资源,不用预估每个spark需要的计算资源,后续使用http请求任务就可以共享这个资源,实现了资源共享,节约资源,提高***性能。
二、其次,介绍实现容错和负载均衡的方案。
发明人还发现如下技术问题:现有Spark任务提交方案不具备容错和负载均衡功能。Spark任务提交依赖大数据集群的边缘节点(大数据集群的边缘节点需要将提交上来的任务分发给如图1所述的集群节点执行),如果边缘节点宕机或者边缘节点提交任务过多,都可能会导致任务执行失败。
由于发明人发现了如上技术问题,于是提出了如下容错和负载均衡的方案。
在一个实施例中,上述Spark任务的提交方法还可以包括:
检测大数据集群的边缘节点的状态;
根据大数据集群的边缘节点的状态,选择边缘节点;
提交Spark任务至大数据集群的边缘节点,可以包括:提交Spark任务至选择的边缘节点。
具体实施时,根据检测大数据集群的边缘节点的状态,选择边缘节点,可以实现容错和负载均衡,进一步提高***的性能。下面对这些容错和负载进行举例介绍。
在一个实施例中,所述状态可以包括正常状态和异常状态;
根据大数据集群的边缘节点的状态,选择边缘节点,可以包括:选择正常状态的边缘节点;
提交Spark任务至选择的边缘节点,可以包括:提交Spark任务至正常状态的边缘节点。
具体实施时,根据检测大数据集群的边缘节点的状态,提交Spark任务至正常状态的边缘节点,保证Spark任务的提交成功率。
在一个实施例中,所述状态包括忙碌状态和空闲状态;
根据大数据集群的边缘节点的状态,选择边缘节点,可以包括:选择空闲状态的边缘节点;
提交Spark任务至选择的边缘节点,可以包括:提交Spark任务至空闲状态的边缘节点。
具体实施时,根据检测大数据集群的边缘节点的状态,提交Spark任务至空闲状态的边缘节点,实现了Spark任务的提交的负载均衡,提高Spark任务的提交的效率。
在一个实施例中,检测大数据集群的边缘节点的状态,可以包括:
在确定所有边缘节点的状态均为异常不可用状态时,在预设时间段后,根据预设的次数阈值,重新检测大数据集群的边缘节点的状态。
具体实施时,客户端提交Spark任务前,检测基于SocketServer的Spark应用的Spark应用是否存活。在任务提交前,随机选择或轮询边缘节点,使用spark的服务类型(详见下面实施例中Spark业务逻辑的实现部分的介绍)check检测类型,基于SocketServer的Spark应用的Spark应用是否存活。如果该节点的spark异常则选取另外一个边缘节点测试,直至选择状态正常的边缘节点作为提交任务的主机,如果边缘节点的服务都不正常,则等待一段时间(如90秒)后继续重试,可设置重试次数的阈值,重试次数超过阈值则直接返回检测结果。该实施方案为任务提交的异常检测及重试机制,实现了spark服务的容错功能,进而提高了Spark任务提交的准确率。
在一个实施例中,Spark任务的提交方法还可以包括:
服务端接收大数据集群的边缘节点反馈的Spark任务执行结果,将Spark任务执行结果发出;
客户端接收根据所述Spark任务提交请求反馈的Spark任务执行结果;在Spark任务执行结果为任务提交失败时,重新以http方式发送Spark任务提交请求。
具体实施时,服务端接收以http方式发来的Spark任务的提交,并将执行结果反馈给客户端,客户端及时了解Spark任务执行结果,并在Spark任务执行结果为任务提交失败时,重新以http方式发送Spark任务提交请求,其为任务提交的异常检测及重试机制,实现了spark服务的容错功能,进而提高了Spark任务提交的准确率。
具体实施时,Spark任务提交完成后,可以根据返回的状态码选择是否需要重试。状态码可根据实际需要在SocketServer中自定义,此处列出几种常见的状态码极其表示含义:
如果状态码为200,则表示执行成功;
如果状态码为400,则表示业务异常,需重试。
如果状态为500,则表示服务异常,需要重试。
下面再根据图3A和图3B对本发明实施例的方案进行补充介绍。
基于Java的ServerSocket,实现一个具备Spark处理逻辑的HTTP的服务器,客户端通过http协议发起请求,ServerSocket处理请求并将处理结果响应客户端。本方案主要包括两块:
(1)ServerSocket服务:如图3A所示,主要包含初始化Spark应用和ServerSocket,接收客户端请求,并通过线程池将客户端的请求从主线程剥离,分散到各个子线程中处理请求,即处理多个http请求,即多个以http方式发来的Spark任务提交请求。
(2)请求处理:如图3B所示,线程池处理的核心逻辑是通过这个模块实现,实现了Runnable接口的线程类,用于处理各个客户端的请求并响应客户端。
ServerSocket服务和请求处理的关系:ServerSocket服务初始化了一个线程池,这样可以同时接收多个http请求,每个http请求作为ServerSocket的一个子线程,这个子线程就是请求处理模块。
Spark的服务类型可分为数据处理(process)类型、检测(check)类型两类。Process类型为Spark数据处理、计算的核心逻辑。Check类型用于在提交任务前,检测spark服务的状态,以实现多个spark服务的容错和负载均衡,详见上面实施例的介绍。Spark的服务类型可通过Http请求链接的路径进行标识,进而进行识别。
Server Socket的实现:
(1)初始化Spark的统一切入点变量
在ServerSocket启动时,创建Spark统一切入点变量,后续基于此HttpServer的任务提交共享这个统一切入点变量。
代码示例可以如下:
val spark=SparkSession.builder().getOrCreate()。
(2)初始化ServerSocket
用于初始化服务器的Socket,指定端口等。
代码示例:
//创建ServerSocket实例,指定端口为port;
//val serverSocket=new ServerSocket(port)。
(3)初始化线程池
通过线程池将请求从主线程剥离,分散到各个线程中去处理,分别提交多个http请求。并且指定线程池的大小、线程的存活时间等。
(4)线程池处理
阻塞等待socket连接,提交线程池处理。线程处理的核心逻辑在请求处理模块中实现。
伪代码示例可以如下:
Figure BDA0002310105120000091
Figure BDA0002310105120000101
请求处理的实现:
请求处理模块实现Runnable接口。在run方法中实现核心处理逻辑。
(1)获取http请求
以Post或Get方式接收外部传入的参数,并对参数进行解析。http请求参数包含必选和可选参数,其中,可选参数不传将使用默认值,可根据业务需要确定必选和可选参数。
例如外部客户端发起了如下http请求:
curl-s-w"|%{http_code}"-H"Content-type:application/json;charset=UTF-8"-XPOST http://192.168.118.200:8899/process-d'{"appName":"fileconvert","filepath":"/hadoop/csv","destpath":"/hadoop/orc/2019"}'。
其中,这里的-d就是以post的方式传入参数,这里有三个参数appName、filepath和destpath,假定spark处理的逻辑是将文件转换格式保存到另一个目录,filepath指定了源目录,destpath指定了目标目录,这两个参数是必选的。对于appName这个参数则可以是可选的,用于表示这次请求的名称。
(2)创建spark统一切入点的新会话
创建Spark应用的新会话,实现多个会话之间数据处理逻辑的隔离,避免相互影响。会话即session,一次http请求就会创建一个新的会话,这主要是避免同时有多个http请求之间会相互影响。即,spark变量为统一切入点变量,这个变量读取和创建的数据是可以共享的。基于这个变量创建新会话,这些新会话之间的数据(中间处理产生的数据)是不共享的,可避免冲突。
代码示例可以是:
val newspark=spark.newSession()。
(3)Spark业务逻辑的实现
通过http请求链接的路径来判断spark的服务类型。
例如:http://192.168.118.200:8899/check,表示check服务类型,此时就可以如上面实施例介绍的,进行检测大数据集群的边缘节点的状态的步骤,以实现容错和负载均衡的方案。
如果Spark服务类型是process,则Spark数据处理的业务逻辑(Spark是大数据处理的计算引擎,实现对数据加工、转换、分析等)均通过此实现,此时,需要提交Spark进行处理,并后续反馈执行结果给客户端。
如果Spark的服务类型是check,则判断spark的应用是否存活,存活则返回状态码200,否则返回状态码500表示服务异常,即检测大数据集群的边缘节点的状态,返回正常或异常、忙碌或空闲等状态检测结果。
即,在一个实例中,Spark任务的提交方案还可以包括:服务端根据以http方式发来的Spark任务提交请求的路径标识,确定服务类型;所述服务类型可以包括:处理类型和检测类型;在确定为处理类型时,提交Spark任务至大数据集群的边缘节点以进行Spark任务的处理;在确定为检测类型时,执行检测大数据集群的边缘节点的状态的步骤。
(4)数据处理完成,响应客户端
定义状态码,以响应不同的数据处理结果,如:200表示数据处理成功,400表示业务异常,500表示spark内部异常。
基于上面的流程完成以服务的方式提交spark任务的程序后,以spark-submit方式提交spark应用,spark将以常驻进程的方式在指定端口监听http请求。
为了便于理解本发明如何实施,下面举一例子进行说明。
以将源目录下的CSV文件,转换为ORC格式后保存到目标目录,并返回文件的记录数为例进行举例说明。
(1)首先,在执行本发明实施例提供的方案之前,在主机192.168.118.200上,仅一次以spark-submit方式提交spark任务,即在边缘节点启动spark应用,spark应用将以常驻进程的方式在指定服务端口监听http的spark任务提交请求,即以http方式发来的Spark任务提交请求。具体地,指定监听的服务端口可以为8088。
(2)接着,以服务的方式提交spark任务:指定SocketServer启动的主机和端口,并指定SocketServer的服务类型为process,即指定服务类型,是需要提交任务进行处理(处理process类型),还是进行边缘节点检测(检测Check类型)。
-d参数指定传入的请求参数,appName指定任务的名称,filepath指定csv文件的路径,destpath指定目标文件的路径。
提交命令可以为:
curl-s-w"|%{http_code}"-H"Content-type:
application/json;charset=UTF-8"-XPOST http://192.168.118.200:8899/ process-d'{“service_type”:”process”,"appName":"fileconvert","filepath":"/hadoop/csv","destpath":"/hadoop/orc/2019"}'。
此处以linux下的curl工具作为提交示例,也可以使用java、python发起http请求。
执行完成后,上面的命令响应(执行结果)如下,200可以表示执行成功:
appName:fileconvert cnt:20result:success|200。
基于同一发明构思,本发明实施例中还提供了一种应用于客户端的Spark任务的提交方法,如下面的实施例所述。由于应用于客户端的Spark任务的提交方法解决问题的原理与应用于***的Spark任务的提交方法相似,因此应用于客户端的Spark任务的提交方法的实施可以参见应用于***的Spark任务的提交方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本发明实施例中应用于客户端的Spark任务的提交方法的流程示意图,如图4所示,该方法包括如下步骤:
步骤201:接收用户输入的Spark任务提交请求;
步骤202:以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出。
在一个实施例中,上述应用于客户端的Spark任务的提交方法还可以包括:接收根据所述Spark任务提交请求反馈的Spark任务执行结果;在Spark任务执行结果为任务提交失败时,重新以http方式发送Spark任务提交请求。
基于同一发明构思,本发明实施例中还提供了一种应用于服务端的Spark任务的提交方法,如下面的实施例所述。由于应用于服务端的Spark任务的提交方法解决问题的原理与应用于***的Spark任务的提交方法相似,因此应用于服务端的Spark任务的提交方法的实施可以参见应用于***的Spark任务的提交方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是本发明实施例中应用于服务端的Spark任务的提交方法的流程示意图,如图5所示,该方法包括如下步骤:
步骤301:获取以http方式发来的Spark任务提交请求;
步骤302:根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话;
步骤303:根据所述基于共享统一切入点变量的会话,提交Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务。
在一个实施例中,上述Spark任务的提交方法还可以包括:
在向大数据集群的边缘节点发出第一次启动Spark应用命令时,申请预设容量的资源;所述预设容量的资源用于供多个以http方式提交的Spark任务共享。
在一个实施例中,上述Spark任务的提交方法还可以包括:
检测大数据集群的边缘节点的状态;
根据大数据集群的边缘节点的状态,选择边缘节点;
提交Spark任务至大数据集群的边缘节点,包括:提交Spark任务至选择的边缘节点。
在一个实施例中,所述状态可以包括正常状态和异常状态;
根据大数据集群的边缘节点的状态,选择边缘节点,可以包括:选择正常状态的边缘节点;
提交Spark任务至选择的边缘节点,包括:提交Spark任务至正常状态的边缘节点。
在一个实施例中,所述状态可以包括忙碌状态和空闲状态;
根据大数据集群的边缘节点的状态,选择边缘节点,包括:选择空闲状态的边缘节点;
提交Spark任务至选择的边缘节点,包括:提交Spark任务至空闲状态的边缘节点。
在一个实施例中,检测大数据集群的边缘节点的状态,可以包括:
在确定所有边缘节点的状态均为异常不可用状态时,在预设时间段后,根据预设的次数阈值,重新检测大数据集群的边缘节点的状态。
基于同一发明构思,本发明实施例中还提供了一种Spark任务的提交***,如下面的实施例所述。由于Spark任务的提交***解决问题的原理与应用于***的Spark任务的提交方法相似,因此Spark任务的提交***的实施可以参见应用于***的Spark任务的提交方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是本发明实施例中Spark任务的提交***的结构示意图,如图6所示,该***包括:
客户端11,用于接收用户输入的Spark任务提交请求,以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出;
服务端12,用于获取以http方式发来的Spark任务提交请求,根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话,根据所述基于共享统一切入点变量的会话,提交Spark任务至大数据集群的边缘节点;所述大数据集群的边缘节点中存在Spark应用;所述Spark应用以常驻进程的方式监听预设端口的Spark任务。
在一个实施例中,上述Spark任务的提交***还可以包括:
资源申请单元,用于在向大数据集群的边缘节点发出第一次启动Spark应用命令时,申请预设容量的资源;所述预设容量的资源用于供多个以http方式提交的Spark任务共享。
在一个实施例中,上述Spark任务的提交***中的服务端还可以包括:
检测单元,用于检测大数据集群的边缘节点的状态;
选择单元,用于根据大数据集群的边缘节点的状态,选择边缘节点;
提交单元具体用于提交Spark任务至选择的边缘节点。
在一个实施例中,所述状态可以包括正常状态和异常状态;
所述选择单元具体用于:选择正常状态的边缘节点;
提交单元具体用于:提交Spark任务至正常状态的边缘节点。
在一个实施例中,所述状态可以包括忙碌状态和空闲状态;
所述选择单元具体用于:选择空闲状态的边缘节点;
提交单元具体用于:提交Spark任务至空闲状态的边缘节点。
在一个实施例中,检测单元具体可以用于:
在确定所有边缘节点的状态均为异常不可用状态时,在预设时间段后,根据预设的次数阈值,重新检测大数据集群的边缘节点的状态。
基于同一发明构思,本发明实施例中还提供了一种Spark任务的提交客户端,如下面的实施例所述。由于Spark任务的提交客户端解决问题的原理与应用于***的Spark任务的提交方法相似,因此Spark任务的提交客户端的实施可以参见应用于***的Spark任务的提交方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是本发明实施例中Spark任务的提交客户端的结构示意图,如图7所示,该客户端包括:
第一接收单元21,用于接收用户输入的Spark任务提交请求;
第一发送单元22,用于以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出。
在一个实施例中,上述第一接收单元还可以用于接收根据所述Spark任务提交请求反馈的Spark任务执行结果;上述第一发送单元还用于在Spark任务执行结果为任务提交失败时,重新以http方式发送Spark任务提交请求。
基于同一发明构思,本发明实施例中还提供了一种Spark任务的提交服务端,如下面的实施例所述。由于Spark任务的提交服务端解决问题的原理与应用于***的Spark任务的提交方法相似,因此Spark任务的提交服务端的实施可以参见应用于***的Spark任务的提交方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是本发明实施例中Spark任务的提交服务端的结构示意图,如图8所示,该服务端包括:
获取单元31,用于获取以http方式发来的Spark任务提交请求;
创建单元32,用于根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话;
提交单元33,用于根据所述基于共享统一切入点变量的会话,提交Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务。
在一个实施例中,上述Spark任务的提交服务端还可以包括:
检测单元,用于检测大数据集群的边缘节点的状态;
选择单元,用于根据大数据集群的边缘节点的状态,选择边缘节点;
提交单元具体用于提交Spark任务至选择的边缘节点。
在一个实施例中,所述状态可以包括正常状态和异常状态;
所述选择单元具体用于:选择正常状态的边缘节点;
提交单元具体可以用于:提交Spark任务至正常状态的边缘节点。
在一个实施例中,所述状态可以包括忙碌状态和空闲状态;
所述选择单元具体用于:选择空闲状态的边缘节点;
提交单元具体用于:提交Spark任务至空闲状态的边缘节点。
在一个实施例中,检测单元具体可以用于:
在确定所有边缘节点的状态均为异常不可用状态时,在预设时间段后,根据预设的次数阈值,重新检测大数据集群的边缘节点的状态。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述Spark任务的提交方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述Spark任务的提交方法的计算机程序。
本发明实施例提供的技术方案为基于ServerSocket的Spark任务提交方案,其有益技术效果是:提高了Spark任务提交的效率,实现了Spark任务提交过程的数据共享;实现了资源共享,节约资源,提高***性能;实现容错和负载均衡。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种Spark任务的提交方法,其特征在于,包括:
客户端接收用户输入的Spark任务提交请求,以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出;
服务端获取多个以http方式发来的Spark任务提交请求,根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话,根据所述基于共享统一切入点变量的会话,提交每个Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务;一个以http方式发来的Spark任务提交请求创建一个新的会话,统一切入点变量读取和创建的公共数据在多个以http方式发来的Spark任务提交请求之间共享,基于统一切入点变量创建的多个新会话之间的中间处理产生的数据是不共享的;
所述Spark任务的提交方法还包括:服务端根据以http方式发来的Spark任务提交请求的路径标识,确定服务类型;所述服务类型包括:处理类型和检测类型;在确定为处理类型时,提交Spark任务至大数据集群的边缘节点以进行Spark任务的处理;在确定为检测类型时,执行检测大数据集群的边缘节点的状态的步骤。
2.如权利要求1所述的Spark任务的提交方法,其特征在于,还包括:
服务端接收大数据集群的边缘节点反馈的Spark任务执行结果,将Spark任务执行结果发出;
客户端接收根据所述Spark任务提交请求反馈的Spark任务执行结果;在Spark任务执行结果为任务提交失败时,重新以http方式发送Spark任务提交请求。
3.一种Spark任务的提交方法,应用于客户端,其特征在于,包括:
接收用户输入的Spark任务提交请求;
以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出;以http方式发出的Spark任务提交请求被服务端获取,所述服务端根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话,根据所述基于共享统一切入点变量的会话,提交每个Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务;一个以http方式发来的Spark任务提交请求创建一个新的会话,统一切入点变量读取和创建的公共数据在多个以http方式发来的Spark任务提交请求之间共享,基于统一切入点变量创建的多个新会话之间的中间处理产生的数据是不共享的;所述服务端还根据以http方式发来的Spark任务提交请求的路径标识,确定服务类型;所述服务类型包括:处理类型和检测类型;在确定为处理类型时,提交Spark任务至大数据集群的边缘节点以进行Spark任务的处理;在确定为检测类型时,执行检测大数据集群的边缘节点的状态的步骤。
4.一种Spark任务的提交方法,应用于服务端,其特征在于,包括:
获取多个以http方式发来的Spark任务提交请求;
根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话;
根据所述基于共享统一切入点变量的会话,提交每个Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务;一个以http方式发来的Spark任务提交请求创建一个新的会话,统一切入点变量读取和创建的公共数据在多个以http方式发来的Spark任务提交请求之间共享,基于统一切入点变量创建的多个新会话之间的中间处理产生的数据是不共享的;
所述Spark任务的提交方法还包括:根据以http方式发来的Spark任务提交请求的路径标识,确定服务类型;所述服务类型包括:处理类型和检测类型;在确定为处理类型时,提交Spark任务至大数据集群的边缘节点以进行Spark任务的处理;在确定为检测类型时,执行检测大数据集群的边缘节点的状态的步骤。
5.如权利要求4所述的Spark任务的提交方法,其特征在于,还包括:
在向大数据集群的边缘节点发出第一次启动Spark应用命令时,申请预设容量的资源;所述预设容量的资源用于供多个以http方式提交的Spark任务共享。
6.如权利要求4所述的Spark任务的提交方法,其特征在于,还包括:
检测大数据集群的边缘节点的状态;
根据大数据集群的边缘节点的状态,选择边缘节点;
提交Spark任务至大数据集群的边缘节点,包括:提交Spark任务至选择的边缘节点。
7.如权利要求6所述的Spark任务的提交方法,其特征在于,所述状态包括正常状态和异常状态;
根据大数据集群的边缘节点的状态,选择边缘节点,包括:选择正常状态的边缘节点;
提交Spark任务至选择的边缘节点,包括:提交Spark任务至正常状态的边缘节点。
8.如权利要求6所述的Spark任务的提交方法,其特征在于,所述状态包括忙碌状态和空闲状态;
根据大数据集群的边缘节点的状态,选择边缘节点,包括:选择空闲状态的边缘节点;
提交Spark任务至选择的边缘节点,包括:提交Spark任务至空闲状态的边缘节点。
9.如权利要求6所述的Spark任务的提交方法,其特征在于,检测大数据集群的边缘节点的状态,包括:
在确定所有边缘节点的状态均为异常不可用状态时,在预设时间段后,根据预设的次数阈值,重新检测大数据集群的边缘节点的状态。
10.一种Spark任务的提交***,其特征在于,包括:
客户端,用于接收用户输入的Spark任务提交请求,以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出;
服务端,用于获取多个以http方式发来的Spark任务提交请求,根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话,根据所述基于共享统一切入点变量的会话,提交每个Spark任务至大数据集群的边缘节点;所述大数据集群的边缘节点中存在Spark应用;所述Spark应用以常驻进程的方式监听预设端口的Spark任务;一个以http方式发来的Spark任务提交请求创建一个新的会话,统一切入点变量读取和创建的公共数据在多个以http方式发来的Spark任务提交请求之间共享,基于统一切入点变量创建的多个新会话之间的中间处理产生的数据是不共享的;
所述服务端还用于根据以http方式发来的Spark任务提交请求的路径标识,确定服务类型;所述服务类型包括:处理类型和检测类型;在确定为处理类型时,提交Spark任务至大数据集群的边缘节点以进行Spark任务的处理;在确定为检测类型时,执行检测大数据集群的边缘节点的状态的步骤。
11.一种Spark任务的提交客户端,其特征在于,包括:
第一接收单元,用于接收用户输入的Spark任务提交请求;
第一发送单元,用于以http方式将Spark任务提交请求通过与服务器连接的Socket路径发出;以http方式发出的Spark任务提交请求被服务端获取,所述服务端根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话,根据所述基于共享统一切入点变量的会话,提交每个Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务;一个以http方式发来的Spark任务提交请求创建一个新的会话,统一切入点变量读取和创建的公共数据在多个以http方式发来的Spark任务提交请求之间共享,基于统一切入点变量创建的多个新会话之间的中间处理产生的数据是不共享的;所述服务端还根据以http方式发来的Spark任务提交请求的路径标识,确定服务类型;所述服务类型包括:处理类型和检测类型;在确定为处理类型时,提交Spark任务至大数据集群的边缘节点以进行Spark任务的处理;在确定为检测类型时,执行检测大数据集群的边缘节点的状态的步骤。
12.一种Spark任务的提交服务端,其特征在于,包括:
获取单元,用于获取多个以http方式发来的Spark任务提交请求;
创建单元,用于根据所述Spark任务提交请求,创建基于共享统一切入点变量的会话;
提交单元,用于根据所述基于共享统一切入点变量的会话,提交每个Spark任务至大数据集群的边缘节点;其中,所述大数据集群的边缘节点中存在Spark应用,所述Spark应用以常驻进程的方式监听预设端口的Spark任务;一个以http方式发来的Spark任务提交请求创建一个新的会话,统一切入点变量读取和创建的公共数据在多个以http方式发来的Spark任务提交请求之间共享,基于统一切入点变量创建的多个新会话之间的中间处理产生的数据是不共享的;
所述提交单元还用于根据以http方式发来的Spark任务提交请求的路径标识,确定服务类型;所述服务类型包括:处理类型和检测类型;在确定为处理类型时,提交Spark任务至大数据集群的边缘节点以进行Spark任务的处理;在确定为检测类型时,执行检测大数据集群的边缘节点的状态的步骤。
13.如权利要求12所述的Spark任务的提交服务端,其特征在于,还包括:
检测单元,用于检测大数据集群的边缘节点的状态;
选择单元,用于根据大数据集群的边缘节点的状态,选择边缘节点;
所述提交单元具体用于提交Spark任务至选择的边缘节点。
14.如权利要求13所述的Spark任务的提交服务端,其特征在于,所述检测单元具体用于:
在确定所有边缘节点的状态均为异常不可用状态时,在预设时间段后,根据预设的次数阈值,重新检测大数据集群的边缘节点的状态。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一所述方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至9任一所述方法的计算机程序。
CN201911255380.2A 2019-12-10 2019-12-10 Spark任务的提交方法、***、客户端及服务端 Active CN111031123B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911255380.2A CN111031123B (zh) 2019-12-10 2019-12-10 Spark任务的提交方法、***、客户端及服务端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911255380.2A CN111031123B (zh) 2019-12-10 2019-12-10 Spark任务的提交方法、***、客户端及服务端

Publications (2)

Publication Number Publication Date
CN111031123A CN111031123A (zh) 2020-04-17
CN111031123B true CN111031123B (zh) 2022-06-03

Family

ID=70205159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911255380.2A Active CN111031123B (zh) 2019-12-10 2019-12-10 Spark任务的提交方法、***、客户端及服务端

Country Status (1)

Country Link
CN (1) CN111031123B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268355A (zh) * 2021-06-25 2021-08-17 中国银行股份有限公司 分布式集群的数据库连接方法及装置
CN113918238A (zh) * 2021-09-27 2022-01-11 中盈优创资讯科技有限公司 一种基于Flink的异构数据源同步方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180293283A1 (en) * 2014-11-14 2018-10-11 Marin Litoiu Systems and methods of controlled sharing of big data
CN106657099B (zh) * 2016-12-29 2020-06-16 北京天元创新科技有限公司 一种Spark数据分析服务发布***
US10762234B2 (en) * 2018-03-08 2020-09-01 International Business Machines Corporation Data processing in a hybrid cluster environment
CN109408537A (zh) * 2018-10-18 2019-03-01 网易(杭州)网络有限公司 基于Spark SQL的数据处理方法及装置、存储介质及计算设备
CN109739663B (zh) * 2018-12-29 2023-07-14 深圳前海微众银行股份有限公司 作业处理方法、装置、设备及计算机可读存储介质
CN110262881A (zh) * 2019-06-12 2019-09-20 深圳前海微众银行股份有限公司 一种Spark作业的提交方法及装置

Also Published As

Publication number Publication date
CN111031123A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
US11507364B2 (en) Cloud services release orchestration with a reusable deployment pipeline
US10768923B2 (en) Release orchestration for performing pre release, version specific testing to validate application versions
US10776099B2 (en) Release orchestration for cloud services
US7996525B2 (en) Systems and methods for dynamically provisioning cloud computing resources
US9218231B2 (en) Diagnosing a problem of a software product running in a cloud environment
WO2016183553A1 (en) Query dispatch and execution architecture
US11507479B2 (en) High availability for a relational database management system as a service in a cloud platform
WO2018095414A1 (zh) 虚拟机故障的检测和恢复方法及装置
CN111031123B (zh) Spark任务的提交方法、***、客户端及服务端
US11044188B2 (en) Automated testing of push notification service in cloud computing system
US20190340061A1 (en) Automatic correcting of computing cluster execution failure
Mohamed et al. MidCloud: an agent‐based middleware for effective utilization of replicated Cloud services
US10313450B2 (en) Method for transparently connecting augmented network socket operations
CN110750365A (zh) 一种远程过程调用方法、***、终端及存储介质
US10193744B1 (en) Mass restoration of enterprise business services following service disruption
US10970098B2 (en) Methods for sharing input-output device for process automation on a computing machine and devices thereof
US10789129B1 (en) Rolling restoration of enterprise business services following service disruption
US20190250966A1 (en) Systems and methods for processing remote procedure calls
US7350065B2 (en) Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection
US20230289203A1 (en) Server maintenance control device, server maintenance system, server maintenance control method, and program
US10659326B2 (en) Cloud computing network inspection techniques
Pongpaibool et al. Netham-nano: A robust and scalable service-oriented platform for distributed monitoring
CN111614649B (zh) 关闭tcp短连接的方法及装置
US11921605B2 (en) Managing applications in a cluster
US11797418B1 (en) Automatic creation of trace spans from log data

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
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: Room 702-2, No. 4811, Cao'an Highway, Jiading District, Shanghai

Patentee after: CHINA UNITECHS

Address before: 100872 5th floor, Renmin culture building, 59 Zhongguancun Street, Haidian District, Beijing

Patentee before: CHINA UNITECHS

CP02 Change in the address of a patent holder