用于分布式处理平台的统一客户端制造技术

技术编号:16269967 阅读:47 留言:0更新日期:2017-09-22 21:38
描述了用于提供统一客户端来与诸如Hadoop集群之类的分布式处理平台交互的技术。统一客户端可包括多个子客户端,每个子客户端被配置为与分布式处理平台的特定子系统接口,该子系统诸如是MapReduce、Hive、Spark等等。统一客户端可被包括在应用中来为该应用在统一通信会话期间提供用于该应用与分布式处理平台之间的通信的单个接口。

【技术实现步骤摘要】
用于分布式处理平台的统一客户端相关申请的交叉引用本申请要求均于2016年3月14日递交的标题为“PredictiveModelingOptimization”的美国临时专利申请序列号62/307,971和标题为“UnifiedClientforDistributedProcessingPlatform”的美国临时专利申请序列号62/307,671的优先权。在此通过引用将这两个临时申请的全部内容都并入到本申请中。本申请还要求于2016年9月9日递交的标题为“UnifiedClientforDistributedProcessingPlatform”的美国非临时专利申请序列号15/261,194的优先权。
本申请涉及用于分布式处理平台的统一客户端。
技术介绍
随着企业和其他组织处理越来越多量的数据,用于数据存储和处理的系统已被开发来处理非常大的数据集。例如,由Apache软件基金会开发的Hadoop框架是设计用于计算机的集群上非常大的数据集的分布式存储和分布式处理的平台。在平台采用许多不同的技术来存储和处理数据的情况中,协调各种技术以使得它们以可靠且高效的方式一起操作可能是一个挑战。
技术实现思路
本公开的实现方式概括而言针对的是分布式处理平台中的数据处理。更具体而言,实现方式针对的是用于分布式处理平台的统一客户端。一般而言,本说明书中描述的主题的创新方面可体现在包括以下动作的方法中:从应用访问统一客户端,该统一客户端包括多个子客户端,每个子客户端被配置为与包括多个子系统的分布式处理平台的相应子系统相接口;建立用于统一客户端和分布式处理平台之间的通信的会话;并且在会话期间,与统一客户端的至少一个子客户端相接口来请求分布式处理平台的至少一个子系统各自执行数据处理操作。实现方式可以可选地包括以下方面中的一个或多个:这些动作还包括,在统一会话期间,与统一客户端的至少两个子客户端接口来请求分布式处理平台的至少两个子系统执行至少两个数据处理操作;至少两个数据处理操作是由至少两个子系统响应于来自至少两个子客户端的顺序调用而串行执行的;至少两个数据处理操作是由至少两个子系统响应于来自至少两个子客户端的调用而并行执行的;至少两个子客户端是与分布式处理平台的不同子系统接口的不同类型的子客户端;由至少两个子客户端中的第一子客户端向第二子客户端提供引用,该引用指示由第一子客户端执行的第一数据处理操作的结果;多个子客户端包括以下各项中的一者或多者:MapReduce客户端,被配置为与MapReduce子系统接口;Hive客户端,被配置为与Hive引擎子系统接口;Spark客户端,被配置为与Spark引擎子系统接口;SparkSQL客户端,被配置为与SparkSQL子系统接口;或者存储客户端,被配置为与存储子系统接口;和/或分布式处理平台是Hadoop平台。任何上述方面的其他实现方式包括相应系统、装置和编码在计算机存储设备上的被配置为执行这些方法的动作的计算机程序。本公开还提供了一种计算机可读存储介质,其耦合到一个或多个处理器并且其上存储有指令,这些指令当被该一个或多个处理器执行时使得该一个或多个处理器根据本文提供的方法的实现方式执行操作。本公开还提供了一种用于实现本文提供的方法的系统。该系统包括一个或多个处理器,和耦合到该一个或多个处理器的计算机可读存储介质,其上存储有指令,这些指令当被该一个或多个处理器执行时使得该一个或多个处理器根据本文提供的方法的实现方式执行操作。本公开的实现方式提供了以下优点中的一个或多个。实现方式提供了一种统一客户端,其充当单个接口来与分布式处理平台支持的所有子系统交互,并且促进对分布式处理平台提供的各种不同服务的消耗。通过将不同的子系统组合在单个会话中,统一客户端还起到了克服分布式处理平台的每个子系统和/或技术中可能固有的个体限制(例如,性能限制、处理容量等等)的作用。通过提供通过统一通信会话与分布式处理平台交互的单个统一客户端,实现方式提供了一种与传统系统相比消耗更少的处理力、存储器、存储容量和/或联网资源的系统,传统系统要求多个依子系统而定的客户端,每个客户端采用其自己的个体通信会话。要明白,根据本公开的方法可包括本文描述的方面和特征的任何组合。也就是说,根据本公开的方法不限于本文具体描述的方面和特征的组合,而是也包括提供的方面和特征的任何组合。本公开的一个或多个实现方式的细节在附图和下面的描述中记载。本公开的其他特征和优点将从描述和附图以及从权利要求中清楚显现。附图说明图1根据本公开的实现方式描绘了包括用于分布式处理平台的统一客户端的示例系统。图2A根据本公开的实现方式描绘了包括采用统一客户端的应用的示例系统。图2B根据本公开的实现方式描绘了用于将统一客户端用于数据处理的过程的示例流程图。图3根据本公开的实现方式描绘了示例计算系统。图4根据本公开的实现方式描绘了示例类图。具体实施方式本公开的实现方式针对的是用于提供统一客户端来与分布式处理平台交互的系统、设备、方法和计算机可读介质。将参考示例分布式处理平台,即由Apache软件基金会开发的Hadoop框架,来描述本公开的实现方式,设想到了本公开的实现方式可利用任何适当的分布式处理平台来实现。分布式处理平台可以批模式存储并处理大数据集。在Hadoop的示例中,Hadoop生态系统最初包括了MapReduce和Hadoop分布式文件系统(HadoopDistributedFileSystem,HDFS),并且随着时间流逝稳定成长为支持其他处理引擎(例如,Hive、Impala、Spark、Tez等等)、其他语言(例如,PIG、HQL、HiveQL、SQL等等)和其他存储模式(例如,Parquet等等)。具体地,Spark引擎的添加与其支持MapReduce体系架构但不支持Spark的先前版本相比显著改善了Hadoop的分布式处理效率。Spark引擎可应对具有许多底层迭代的复杂处理,诸如在机器学习中采用的那些。通过支持许多不同处理引擎、语言和存储模式的技术“动物园”,分布式处理平台在组织试图将平台集成到特定组织情境和/或工作流中时提出了工程挑战。例如,企业内的信息技术组可能希望创建一种适合于企业的特定需要的最优数据处理方案,并且为此他们可利用和/或组合平台所支持的不同技术。平台所支持的不同技术可能是彼此互补的和/或可与彼此同时操作。传统上,为了让应用组合和/或协调平台支持的多个技术的操作,将需要编写大量的特设和/或专门代码。随着应用的设计和/或逻辑变化,在应用的版本与版本之间,这种代码将难以维护。实现方式提供了一种统一客户端,其充当单个接口来与分布式处理平台支持的所有子系统交互,并且促进对分布式处理平台提供的各种不同服务的消耗。通过将不同的子系统组合在单个会话中,统一客户端还起到了克服分布式处理平台的每个子系统和/或技术中可能固有的个体限制(例如,性能限制、处理容量等等)的作用。Spark技术已被设计来以批模式支持长期运转作业执行。Spark技术通过shell脚本(例如,spark-submit)支持作业执行。shell脚本的配置产生了其自己的挑战。例如,shell脚本施加许多脚本参数和先决条件,诸如客户端侧的HadoopXML配置和特定Ha本文档来自技高网...
用于分布式处理平台的统一客户端

【技术保护点】
一种由至少一个处理器执行的由计算机实现的方法,所述方法包括:由所述至少一个处理器从应用访问统一客户端,所述统一客户端包括多个子客户端,每个子客户端被配置为与包括多个子系统的分布式处理平台的相应子系统接口;由所述至少一个处理器为所述统一客户端与所述分布式处理平台之间的通信建立统一会话;并且在所述统一会话期间,由所述至少一个处理器与所述统一客户端的至少一个子客户端接口来请求所述分布式处理平台的至少一个子系统各自执行数据处理操作。

【技术特征摘要】
2016.03.14 US 62/307,671;2016.03.14 US 62/307,971;1.一种由至少一个处理器执行的由计算机实现的方法,所述方法包括:由所述至少一个处理器从应用访问统一客户端,所述统一客户端包括多个子客户端,每个子客户端被配置为与包括多个子系统的分布式处理平台的相应子系统接口;由所述至少一个处理器为所述统一客户端与所述分布式处理平台之间的通信建立统一会话;并且在所述统一会话期间,由所述至少一个处理器与所述统一客户端的至少一个子客户端接口来请求所述分布式处理平台的至少一个子系统各自执行数据处理操作。2.如权利要求1所述的方法,还包括:在所述统一会话期间,由所述至少一个处理器与所述统一客户端的至少两个子客户端接口来请求所述分布式处理平台的至少两个子系统执行至少两个数据处理操作。3.如权利要求2所述的方法,其中,所述至少两个数据处理操作是由所述至少两个子系统响应于来自所述至少两个子客户端的顺序调用而串行执行的。4.如权利要求2所述的方法,其中,所述至少两个数据处理操作是由所述至少两个子系统响应于来自所述至少两个子客户端的调用而并行执行的。5.如权利要求2所述的方法,其中,所述至少两个子客户端是与所述分布式处理平台的不同子系统接口的不同类型的子客户端。6.如权利要求2所述的方法,其中,由所述至少两个子客户端中的第一子客户端向第二子客户端提供引用,所述引用指示由所述第一子客户端执行的第一数据处理操作的结果。7.如权利要求1所述的方法,其中,所述多个子客户端包括以下各项中的一者或多者:MapReduce客户端,被配置为与MapReduce子系统接口;Hive客户端,被配置为与Hive引擎子系统接口;Spark客户端,被配置为与Spark引擎子系统接口;SparkSQL客户端,被配置为与SparkSQL子系统接口;或者存储客户端,被配置为与存储子系统接口。8.如权利要求1所述的方法,其中,所述分布式处理平台是Hadoop平台。9.一种系统,包括:至少一个处理器;以及通信地耦合到所述至少一个处理器的存储器,所述存储器存储指令,所述指令当被所述至少一个处理器执行时使得所述至少一个处理器执行操作,所述操作包括:从应用访问统一客户端,所述统一客户端包括多个子客户端,每个子客户端被配置为与包括多个子系统的分布式处理平台的相应子系统接口;为所述统一客户端与所述分布式处理平台之间的通信建立统一会话;并且在所述统一会话期间,与所述统一客户端的至少一个子客户端接口来请求所述分布式处理平台的至少一个子系统各自执行数据处理操作...

【专利技术属性】
技术研发人员:JD胡A麦克沙恩A阿卜杜勒拉赫曼F马利M凯雷斯
申请(专利权)人:商业对象软件有限公司
类型:发明
国别省市:爱尔兰,IE

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

1