CN108536808A - 一种基于Spark计算框架的数据获取方法和装置 - Google Patents

一种基于Spark计算框架的数据获取方法和装置 Download PDF

Info

Publication number
CN108536808A
CN108536808A CN201810296682.3A CN201810296682A CN108536808A CN 108536808 A CN108536808 A CN 108536808A CN 201810296682 A CN201810296682 A CN 201810296682A CN 108536808 A CN108536808 A CN 108536808A
Authority
CN
China
Prior art keywords
data
partition
information
spark
copy
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.)
Granted
Application number
CN201810296682.3A
Other languages
English (en)
Other versions
CN108536808B (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.)
TIANJIN SHENZHOU GENERAL DATA CO Ltd
National Computer Network and Information Security Management Center
Original Assignee
TIANJIN SHENZHOU GENERAL DATA CO Ltd
National Computer Network and Information Security Management Center
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 TIANJIN SHENZHOU GENERAL DATA CO Ltd, National Computer Network and Information Security Management Center filed Critical TIANJIN SHENZHOU GENERAL DATA CO Ltd
Priority to CN201810296682.3A priority Critical patent/CN108536808B/zh
Publication of CN108536808A publication Critical patent/CN108536808A/zh
Application granted granted Critical
Publication of CN108536808B publication Critical patent/CN108536808B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于Spark计算框架的数据获取方法和装置。该方法包括:在接收到表对象访问请求之后,获取Spark的计算资源信息以及MPP集群中待访问的数据表的数据分布信息;根据计算资源信息和数据分布信息,生成多个Partition;其中,每个Partition对应数据表中的部分数据;通过生成的多个Partition,从MPP集群中获取数据表。本发明充分利用MPP集群的数据存储特性,通过多个Partition,直接从MPP的存储节点快速获取数据集。进一步地,在计算资源充足的情况下,可以对存储节点的数据表进行进一步的拆分,以达到提高并行度,提升数据导入性能的目的。可以根据MPP集群的数据分布情况,优先从本地存储中获取数据,减少数据传输开销、节约网络带宽、减少网络延迟、提高计算性能。

Description

一种基于Spark计算框架的数据获取方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于Spark计算框架的数据获取方法和装置。
背景技术
Apache Spark(简称Spark)是专为大规模数据处理而设计的快速通用的计算引擎。Spark原生提供了对文件系统包括HDFS(Hadoop Distributed File System,分布式文件系统)的访问接口,通常可以使用Spark对数据库中的结构化数据进行计算分析。
具体的,Spark可以通过数据库导出工具将目标数据库的数据导出到文件,再通过该文件对数据进行计算分析,但是这种方法操作繁琐、耗时、容易出错,并且在很大程度上受到环境的限制。
此外,也可以通过Spark提供的JdbcRDD直接访问数据库系统。JdbcRDD是Spark原生提供的通用的数据库访问接口,使用简单便捷,是目前比较常用的Spark访问数据库系统的解决方案。但是,JdbcRDD作为MPP(Massively Parallel Processing,大规模并行处理系统)数据库与Spark数据驱动时,接口不够灵活,lowerBound、upperBound两个参数只能够对结果集的某列整数结果进行筛选;JdbcRDD仅支持简单的where条件的下放,包含复杂条件的sql语句不能友好支持;JdbcRDD将底层的多服务器并行IO(Input/Output,输入/输出接口)进行了单出口汇总,不能完全发挥多数据源分布式存储的性能优势。
因此,JdbcRDD作为通用的数据库访问接口,无法根据MPP数据分布特点和计算特性进行复杂条件的数据筛选、负载均衡。由于JdbcRDD在功能上和性能上的不足,影响了spark的数据导入性能。
发明内容
本发明要解决的技术问题是一种基于Spark计算框架的数据获取方法和装置,用以解决现有技术中,由于JdbcRDD功能和的性能不足,影响了spark的数据导入性能的问题。
为了解决上述技术问题,本发明是通过以下技术方案来解决的:
本发明提供了一种基于Spark计算框架的数据获取方法,在Spark侧执行,包括:在接收到表对象访问请求之后,获取Spark的计算资源信息以及大规模并行处理系统MPP集群中待访问的数据表的数据分布信息;根据所述计算资源信息和所述数据分布信息,生成多个Partition;其中,每个所述Partition对应所述数据表中的部分数据;通过生成的所述多个Partition,从所述MPP集群中获取所述数据表。
其中,根据所述计算资源信息和所述数据分布信息,生成多个Partition,包括:根据所述计算资源信息,确定待生成的Partition数量PartitionNu;根据所述PartitionNu以及所述数据分布信息,确定数据表的最小拆分单元;基于所述最小拆分单元,将所述数据表拆分成PartitionNu份数据;根据每份数据的信息生成各自对应的Partition。
其中,根据每份数据的信息生成各自对应的Partition,包括:根据所述数据分布信息,确定所述Partition对应的数据是否存在副本;如果所述数据存在副本,则生成包含所述数据的副本信息的Partition。
其中,通过生成的所述多个Partition,从所述MPP集群中获取所述数据表,包括:针对每个Partition,如果所述Partition包含数据的副本信息,则通过所述Partition,从所述MPP集群中获取所述数据的副本。
其中,通过生成的所述多个Partition,从所述MPP集群中获取所述数据表,包括:所述数据表中的数据被存储在所述MPP集群中的一个或多个存储节点上;针对每个Partition,确定所述Partition对应的数据所在的存储节点与Spark的计算节点之间的距离,控制距离所述存储节点最近的计算节点,通过所述Partition从所述存储节点获取所述Partition对应的数据。
本发明还提供了一种基于Spark计算框架的数据获取装置,位于Spark侧,包括:第一获取模块,用于在接收到表对象访问请求之后,获取Spark的计算资源信息以及大规模并行处理系统MPP集群中待访问的数据表的数据分布信息;生成模块,用于根据所述计算资源信息和所述数据分布信息,生成多个Partition;其中,每个所述Partition对应所述数据表中的部分数据;第二获取模块,用于通过生成的所述多个Partition,从所述MPP集群中获取所述数据表。
其中,所述生成模块,用于:根据所述计算资源信息,确定待生成的Partition数量PartitionNu;根据所述PartitionNu以及所述数据分布信息,确定数据表的最小拆分单元;基于所述最小拆分单元,将所述数据表拆分成PartitionNu份数据;根据每份数据的信息生成各自对应的Partition。
其中,所述生成模块,用于:根据所述数据分布信息,确定所述Partition对应的数据是否存在副本;如果所述数据存在副本,则生成包含所述数据的副本信息的Partition。
其中,所述第二获取模块,用于:针对每个Partition,如果所述Partition包含数据的副本信息,则通过所述Partition,从所述MPP集群中获取所述数据的副本。
其中,所述第二获取模块,用于:所述数据表中的数据被存储在所述MPP集群中的一个或多个存储节点上;针对每个Partition,确定所述Partition对应的数据所在的存储节点与Spark的计算节点之间的距离,控制距离所述存储节点最近的计算节点,通过所述Partition从所述存储节点获取所述Partition对应的数据。
本发明有益效果如下:
本发明充分利用MPP集群的数据存储特性,通过多个Partition,直接从MPP的存储节点快速获取数据集。进一步地,在计算资源充足的情况下,可以对存储节点的数据表进行进一步的拆分,以达到提高并行度,提升数据导入性能的目的。同时,可以根据MPP集群的数据分布情况,优先从本地存储中获取数据,减少数据传输开销、节约网络带宽、减少网络延迟、提高计算性能。
附图说明
图1是根据本发明实施例的基于Spark计算框架的数据获取方法的流程图;
图2是根据本发明实施例的生成Partition的步骤流程图;
图3是根据本发明实施例的基于Spark计算框架的数据获取装置的结构图。
具体实施方式
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本实施例提供一种基于Spark计算框架的数据获取方法。本实施例在Spark侧执行。如图1所示,为根据本发明实施例的基于Spark计算框架的数据获取方法的流程图。
步骤S110,在接收到表对象访问请求之后,获取Spark的计算资源信息以及MPP集群(又称MPP数据库集群)中待访问的数据表的数据分布信息。
表对象访问请求用于请求访问MPP集群中存储的数据表。根据该表对象访问请求需要从MPP集群中获取请求访问的数据表。
计算资源信息为Spark的计算节点使用信息。在Spark中包括多个用于从MPP集群获取数据的计算节点。计算资源信息,包括但不限于:Spark中的可用计算节点信息、每个可用计算节点的可运行任务数量。
数据分布信息为MPP集群的数据存储信息。在MPP集群中包括多个用于存储数据的存储节点。一张数据表被存储在一个或多个存储节点,例如:神通KSTORE海量数据库。数据分布信息,包括但不限于:表的类型、表的存储节点分布信息、表的副本信息、表的分片信息。进一步地,Spark通过JDBC连接MPP集群,从MPP集群的数据字典中获取MPP集群中的数据表的数据分布信息。
步骤S120,根据所述计算资源信息和所述数据分布信息,生成多个Partition(分区);其中,每个所述Partition对应所述数据表中的部分数据。
根据所述计算资源信息,确定待生成的Partition数量PartitionNu;根据所述PartitionNu以及所述数据分布信息,确定数据表的最小拆分单元;基于所述最小拆分单元,将所述数据表拆分成PartitionNu份数据;根据每份数据的信息生成各自对应的Partition。一个Partition对应一份数据。
最小拆分单元可以是一级分区、二级分区或者数据包(package)压缩块。其中,二级分区是比一级分区更小的独立可访问单元,package压缩块是比二级分区更小的独立可访问单元。
基于最小拆分单元,本实施例可以由数据表的分片生成Partition;由数据表的一级分区生成Partition;由数据表二级分区生成Partition;对数据表进行package压缩块拆分,生成构成Partition。
在本实施例中,可以根据所述数据分布信息,确定所述Partition对应的数据是否存在副本;如果所述数据存在副本,则最终生成包含所述数据的副本信息的Partition。副本信息包括但不限于:副本所在的存储节点的IP(Internet Protocol,互联网协议)地址、表名称、schema名称、表状态信息、分区信息、package信息。进一步地,如果数据包括多个副本,则Partition中可以包含多个有效的副本信息。
通过这样的方式,当MPP集群里的表分布比较集中,且这个表在其它存储节点上存在副本时,就可以将Partition规划到副本所在的存储节点上,Spark在执行多个Partition时,会并行从这些存储节点取出数据,实现各个存储节点间的数据访问负载均衡。
步骤S130,通过生成的所述多个Partition,从所述MPP集群中获取所述数据表。
所述多个Partition构成Spark的RDD数据分区。
每个Partition通过JDBC连接到MPP集群中的存储节点,从该存储节点获取该Partition对应的数据。通过参数控制的方式,可以选择Partition和存储节点之间的数据传送格式和数据查询并发数。数据传送格式包括:常规格式和datum格式。
多个Partition分别获取的数据可以汇总成表对象访问请求所需的数据表。
进一步地,针对每个Partition,如果所述Partition包含数据的副本信息,则通过所述Partition,从所述MPP集群中获取所述数据的副本。如果Partition出错,不能获取副本,则将该副本标记为无效,如果Partition中包含多个副本信息,则再下次重试数据获取操作时,根据有效的副本信息获取副本。
进一步地,所述数据表中的数据被存储在所述MPP集群中的一个或多个存储节点上;针对每个Partition,确定所述Partition对应的数据所在的存储节点与Spark的计算节点之间的距离,控制距离所述存储节点最近的计算节点,通过所述Partition从所述存储节点获取所述Partition对应的数据。进一步地,针对每个Partition,如果所述Partition对应的数据所在的存储节点与Spark的计算节点位置重合,则控制所述计算节点通过所述Partition从所述存储节点获取所述Partition对应的数据。这样根据MPP集群的数据分布情况,根据就近节点,就近机架和就近机房的原则,进行最佳拓扑计算,进一步地,让Spark优先从本地存储中获取数据,通过这种方式,可以减少数据传输开销、节约网络带宽、减少网络延迟、提高计算性能。
在本实施例中,需要继承实现org.apache.spark.rdd.RDD内的getPreferLocation方法和compute方法。
在调用getPreferredLocations方法时,会返回当前Partition对应的数据所在的位置信息(即:数据所在的主机名/IP地址),Spark可根据此位置信息,通过数据分布就近计算感知算法,实现数据就近访问,满足负载均衡访问要求。
每个Partition最终都会通过调用compute()方法返回的Iterator,实现对存储节点中的数据的直接读取操作,在执行compute()时会将Partition做为参数传入到此方法中。具体的:
步骤1,compute()方法根据传入的Partition,创建与Partition对应的存储节点之间的连接Connection。
步骤2,通过Connection(),初始化与存储节点之间的交互参数,构造查询SQL语句。在初始化交互参数时,可以设置数据传输参数dataum、fetchsize等,以提高数据读取性能。
步骤3,Connection()根据Partition和查询SQL语句,创建生成Statement,并通过executeQuery方法获取resultSet结果集合。
步骤4,初始化继承自scala.collection.Iterator的Iterater,该Iterator的getNext()方法不断调用resultSet.next()方法,并通过resultSet.getObject(columnPosition)方法循环拼凑出整行数据,最终获得Partition对应的数据。
下面针对步骤S120生成多个Partition的步骤进行进一步地描述。在本实施例中,生成Partition的步骤可以由getPartition()执行。本领域技术人员应当知道的是,本实施例仅用于说明本发明而不用限定本发明。
如图2所示,为根据本发明实施例的生成Partition的步骤流程图。
步骤S210,根据计算资源信息,确定所需的Partition数量PartitionNu。
在本实施例中,可以根据spark的可用计算节点数量和每个计算节点的可运行任务数量,计算出所有可用计算节点可运行的任务总数taskNu,将该任务总数taskNu作为Partition数量PartitionNu。这样,后续就可以做到每个可运行的任务处理一个Partition。
在另一实施例中,可以预估所需的Partition数量,由用户自定义Partition数量。如果用户自定义了Partition数量,则根据用户输入的Partition数量作为Partition数量PartitionNu。
步骤S220,根据数据分布信息,确定数据表的总分片数allSliceNu。
数据表可能被存储在一个或多个存储节点上。
根据数据表所在的存储节点的数量nodes,以及每个存储节点包含该数据表的分片数slice,计算出数据表的总分片数nodes*slice=allSliceNu。
步骤S230,根据Partition数量PartitionNu和数据表的总分片数allSliceNu,确定数据表的最小分拆单元。
步骤1,计算每个分片所需Partition数量slicePartitionNu:
使PartitionNu/allSliceNu得出每个分片需要拆分成的Partition数量slicePartitionNu。
步骤2,如果slicePartitionNu≤1,则确定以分片为最小拆分单元,如果slicePartitionNu>1,则确定以分区或者package压缩块为最小拆分单元。
该分区为一级分区或者二级分区。具体的:
如果slicePartitionNu>1,并且分片中的一级分区数量大于slicePartitionNu,则将一级分区确定为最小拆分单元;或者,
如果slicePartitionNu>1,并且分片中的二级分区数量大于slicePartitionNu,则将二级分区确定为最小拆分单元。
如果slicePartitionNu>1,并且分片中一级分区数量和二级分区数量都小于等于slicePartitionNu,则确定package压缩块为最小拆分单元。
步骤S240,基于最小拆分单元,拆分数据表,并根据拆分结果生成Partition。
Partition,包括但不限于以下信息(即:该Partition对应的数据的信息):存储节点的IP地址、表名称、schema名称、表状态信息、分区信息、package信息。
如果slicePartitionNu≤1,则使一个或多个分片对应一个Partition,Partition中记录对应的分片的信息。分片的信息可以由分片中的分区信息、package信息来表示。
如果slicePartitionNu>1,则使分片中的一个或多个一级分区或者二级分区或者一定范围的package压缩块对应一个Partition,Partition中记录一级分区信息或者二级分区信息。在划分时,可以将数据表的一级分区或者二级分区或者package压缩块平均分配给各个Partition。
在本实施例中,每个package压缩块都有唯一的packdatano标识,当以package压缩块作为最小拆分单元时,对每个分片进行拆包处理,以便为每一个Partition划分一定范围的package压缩块,通过起始的packdatano和结束的packdatano来描述一个Partition。至于每个Partition对应的package压缩块的数量,可以用每个分片内的package数量maxpackdatano/slicePartitionNu计算每个Partition的可以平均分到的package数量avgPackageNu。
进一步地,在构造Package级的Partition时,从表的第一个分区(一级分区)开始划分Partition,每个Partition按照avgPackageNu进行顺序切割,并记录package压缩块起、止编号(packdatano)。如遇到切分跨越分区,则可以在分区结束位置结束当前Partition,并生成一个新的Partition,记录下一个分区的第一个package压缩块的编号作为新Partition对应的起始编号。
通过这样处理,Spark能够在计算资源的分配和计算消时之间找到一个相对合理的平衡点,提高系统的吞吐量。
在本实施例中,MPP集群中的副本以分片为物理一致性复制单元,按照本实施例的最小拆分单元的确定方式,每个Partition均仅包括在一个独立分片范围内,因此根据表的副本信息,确定分片的副本信息,进而在根据最小拆分单元拆分数据表时,将分片的副本信息、或者一级分区的副本信息、或者二级分区的副本信息、或者package压缩块范围的副本信息记录在Partition中,形成最终的Partition。
本发明为MPP集群引入了系统层面的数据output,利用MPP集群的数据分布特点,直接从MPP集群的存储节点上快速获取数据。
本发明在计算资源充足的情况下,可以对MPP集群存储节点上的数据表进行Partition拆分操作(依据一级分区、二级分区、package压缩块),达到增加并发量,提升数据的导入性能的目的。本发明在计算资源不足的情况下,可以选择通过数据表分片的方式构造Partition。
本发明还提供了一种基于Spark计算框架的数据获取装置。该基于Spark计算框架的数据获取装置位于Spark侧。图3是根据本发明实施例的基于Spark计算框架的数据获取装置的结构图。
该基于Spark计算框架的数据获取装置,包括:
第一获取模块310,用于在接收到表对象访问请求之后,获取Spark的计算资源信息以及大规模并行处理系统MPP集群中待访问的数据表的数据分布信息。
生成模块320,用于根据所述计算资源信息和所述数据分布信息,生成多个Partition;其中,每个所述Partition对应所述数据表中的部分数据。
第二获取模块330,用于通过生成的所述多个Partition,从所述MPP集群中获取所述数据表。
可选地,所述生成模块320,用于:根据所述计算资源信息,确定待生成的Partition数量PartitionNu;根据所述PartitionNu以及所述数据分布信息,确定数据表的最小拆分单元;基于所述最小拆分单元,将所述数据表拆分成PartitionNu份数据;根据每份数据的信息生成各自对应的Partition。
可选地,所述生成模块320,用于:根据所述数据分布信息,确定所述Partition对应的数据是否存在副本;如果所述数据存在副本,则生成包含所述数据的副本信息的Partition。
可选地,所述第二获取模块330,用于:针对每个Partition,如果所述Partition包含数据的副本信息,则通过所述Partition,从所述MPP集群中获取所述数据的副本。
可选地,所述第二获取模块330,用于:所述数据表中的数据被存储在所述MPP集群中的一个或多个存储节点上;针对每个Partition,确定所述Partition对应的数据所在的存储节点与Spark的计算节点之间的距离,控制距离所述存储节点最近的计算节点,通过所述Partition从所述存储节点获取所述Partition对应的数据。进一步地,所述第二获取模块330,可以针对每个Partition执行以下步骤:如果所述Partition对应的数据所在的存储节点与Spark的计算节点位置重合,则控制所述计算节点通过所述Partition从所述存储节点获取所述Partition对应的数据。
本实施例所述的装置的功能已经在图1和图2所示的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

Claims (10)

1.一种基于计算引擎Spark计算框架的数据获取方法,其特征在于,在Spark侧执行,包括:
在接收到表对象访问请求之后,获取Spark的计算资源信息以及大规模并行处理系统MPP集群中待访问的数据表的数据分布信息;
根据所述计算资源信息和所述数据分布信息,生成多个Partition;其中,每个所述Partition对应所述数据表中的部分数据;
通过生成的所述多个Partition,从所述MPP集群中获取所述数据表。
2.如权利要求1所述的方法,其特征在于,根据所述计算资源信息和所述数据分布信息,生成多个Partition,包括:
根据所述计算资源信息,确定待生成的Partition数量PartitionNu;
根据所述PartitionNu以及所述数据分布信息,确定数据表的最小拆分单元;
基于所述最小拆分单元,将所述数据表拆分成PartitionNu份数据;
根据每份数据的信息生成各自对应的Partition。
3.如权利要求2所述的方法,其特征在于,根据每份数据的信息生成各自对应的Partition,包括:
根据所述数据分布信息,确定所述Partition对应的数据是否存在副本;
如果所述数据存在副本,则生成包含所述数据的副本信息的Partition。
4.如权利要求3所述的方法,其特征在于,通过生成的所述多个Partition,从所述MPP集群中获取所述数据表,包括:
针对每个Partition,如果所述Partition包含数据的副本信息,则通过所述Partition,从所述MPP集群中获取所述数据的副本。
5.如权利要求1-4中任一项所述的方法,其特征在于,通过生成的所述多个Partition,从所述MPP集群中获取所述数据表,包括:
所述数据表中的数据被存储在所述MPP集群中的一个或多个存储节点上;
针对每个Partition,确定所述Partition对应的数据所在的存储节点与Spark的计算节点之间的距离,控制距离所述存储节点最近的计算节点,通过所述Partition从所述存储节点获取所述Partition对应的数据。
6.一种基于计算引擎Spark计算框架的数据获取装置,其特征在于,位于Spark侧,包括:
第一获取模块,用于在接收到表对象访问请求之后,获取Spark的计算资源信息以及大规模并行处理系统MPP集群中待访问的数据表的数据分布信息;
生成模块,用于根据所述计算资源信息和所述数据分布信息,生成多个Partition;其中,每个所述Partition对应所述数据表中的部分数据;
第二获取模块,用于通过生成的所述多个Partition,从所述MPP集群中获取所述数据表。
7.如权利要求6所述的装置,其特征在于,所述生成模块,用于:
根据所述计算资源信息,确定待生成的Partition数量PartitionNu;
根据所述PartitionNu以及所述数据分布信息,确定数据表的最小拆分单元;
基于所述最小拆分单元,将所述数据表拆分成PartitionNu份数据;
根据每份数据的信息生成各自对应的Partition。
8.如权利要求7所述的装置,其特征在于,所述生成模块,用于:
根据所述数据分布信息,确定所述Partition对应的数据是否存在副本;
如果所述数据存在副本,则生成包含所述数据的副本信息的Partition。
9.如权利要求8所述的装置,其特征在于,所述第二获取模块,用于:
针对每个Partition,如果所述Partition包含数据的副本信息,则通过所述Partition,从所述MPP集群中获取所述数据的副本。
10.如权利要求6-9中任一项所述的装置,其特征在于,所述第二获取模块,用于:
所述数据表中的数据被存储在所述MPP集群中的一个或多个存储节点上;
针对每个Partition,确定所述Partition对应的数据所在的存储节点与Spark的计算节点之间的距离,控制距离所述存储节点最近的计算节点,通过所述Partition从所述存储节点获取所述Partition对应的数据。
CN201810296682.3A 2018-04-04 2018-04-04 一种基于Spark计算框架的数据获取方法和装置 Expired - Fee Related CN108536808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810296682.3A CN108536808B (zh) 2018-04-04 2018-04-04 一种基于Spark计算框架的数据获取方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810296682.3A CN108536808B (zh) 2018-04-04 2018-04-04 一种基于Spark计算框架的数据获取方法和装置

Publications (2)

Publication Number Publication Date
CN108536808A true CN108536808A (zh) 2018-09-14
CN108536808B CN108536808B (zh) 2022-04-29

Family

ID=63483104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810296682.3A Expired - Fee Related CN108536808B (zh) 2018-04-04 2018-04-04 一种基于Spark计算框架的数据获取方法和装置

Country Status (1)

Country Link
CN (1) CN108536808B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617734A (zh) * 2018-12-25 2019-04-12 北京市天元网络技术股份有限公司 网络运营能力分析方法及装置
CN109933436A (zh) * 2019-03-25 2019-06-25 联想(北京)有限公司 处理方法和处理装置
CN110750251A (zh) * 2019-09-25 2020-02-04 成都品果科技有限公司 读写通信方法、读写器装置及存储介质
CN110955732A (zh) * 2019-12-16 2020-04-03 湖南大学 一种用于在Spark环境中实现分区负载均衡的方法和系统
CN111694834A (zh) * 2019-03-15 2020-09-22 杭州海康威视数字技术股份有限公司 图数据的入库方法、装置、设备及可读存储介质
CN112632114A (zh) * 2019-10-08 2021-04-09 中国移动通信集团辽宁有限公司 Mpp数据库快速读取数据的方法、装置及计算设备
CN112685419A (zh) * 2020-12-31 2021-04-20 北京赛思信安技术股份有限公司 一种可保持janusGraph数据一致性的分布式高效并行加载方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045871A (zh) * 2015-07-15 2015-11-11 国家超级计算深圳中心(深圳云计算中心) 数据聚合查询方法及装置
US9218388B1 (en) * 2012-06-27 2015-12-22 Emc Corporation Declarative cluster management
CN107329982A (zh) * 2017-06-01 2017-11-07 华南理工大学 一种基于分布式列式存储的大数据并行计算方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9218388B1 (en) * 2012-06-27 2015-12-22 Emc Corporation Declarative cluster management
CN105045871A (zh) * 2015-07-15 2015-11-11 国家超级计算深圳中心(深圳云计算中心) 数据聚合查询方法及装置
CN107329982A (zh) * 2017-06-01 2017-11-07 华南理工大学 一种基于分布式列式存储的大数据并行计算方法及系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617734A (zh) * 2018-12-25 2019-04-12 北京市天元网络技术股份有限公司 网络运营能力分析方法及装置
CN111694834A (zh) * 2019-03-15 2020-09-22 杭州海康威视数字技术股份有限公司 图数据的入库方法、装置、设备及可读存储介质
CN109933436A (zh) * 2019-03-25 2019-06-25 联想(北京)有限公司 处理方法和处理装置
CN109933436B (zh) * 2019-03-25 2021-10-22 联想(北京)有限公司 处理方法和处理装置
CN110750251A (zh) * 2019-09-25 2020-02-04 成都品果科技有限公司 读写通信方法、读写器装置及存储介质
CN110750251B (zh) * 2019-09-25 2023-03-24 成都品果科技有限公司 读写通信方法、读写器装置及存储介质
CN112632114A (zh) * 2019-10-08 2021-04-09 中国移动通信集团辽宁有限公司 Mpp数据库快速读取数据的方法、装置及计算设备
CN112632114B (zh) * 2019-10-08 2024-03-19 中国移动通信集团辽宁有限公司 Mpp数据库快速读取数据的方法、装置及计算设备
CN110955732A (zh) * 2019-12-16 2020-04-03 湖南大学 一种用于在Spark环境中实现分区负载均衡的方法和系统
CN112685419A (zh) * 2020-12-31 2021-04-20 北京赛思信安技术股份有限公司 一种可保持janusGraph数据一致性的分布式高效并行加载方法
CN112685419B (zh) * 2020-12-31 2021-09-10 北京赛思信安技术股份有限公司 一种可保持janusGraph数据一致性的分布式高效并行加载方法

Also Published As

Publication number Publication date
CN108536808B (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN108536808B (zh) 一种基于Spark计算框架的数据获取方法和装置
US11372888B2 (en) Adaptive distribution for hash operations
CN110168516B (zh) 用于大规模并行处理的动态计算节点分组方法及系统
CN110147407B (zh) 一种数据处理方法、装置及数据库管理服务器
US10223437B2 (en) Adaptive data repartitioning and adaptive data replication
US7475056B2 (en) Query processing in a parallel single cursor model on multi-instance configurations, using hints
US11907213B2 (en) Query processing method, data source registration method, and query engine
CN105677812A (zh) 一种数据查询方法及数据查询装置
WO2016165562A1 (en) Apparatus and method for using parameterized intermediate representation for just-in-time compilation in database query execution engine
CN108509453B (zh) 一种信息处理方法及装置
CN110347515B (zh) 一种适合边缘计算环境的资源优化分配方法
WO2019120093A1 (en) Cardinality estimation in databases
CN112328700A (zh) 一种分布式数据库
EP3779720B1 (en) Transaction processing method and system, and server
CN108932258B (zh) 数据索引处理方法及装置
CN116401277A (zh) 数据处理方法、装置、系统、设备及介质
CN108780452A (zh) 一种存储过程处理方法及装置
CN115718773A (zh) 一种分布式数据库查询切分方法及装置
CN115982230A (zh) 数据库的跨数据源查询方法、系统、设备及存储介质
TW201525707A (zh) 伺服器品質驗證方法及其系統
CN114020446A (zh) 一种跨多引擎的路由处理方法、装置、设备及存储介质
CN112395306A (zh) 数据库系统、数据处理方法、装置及计算机存储介质
WO2023232127A1 (zh) 任务调度方法、装置、系统及相关设备
US11907250B2 (en) Workload-aware data encoding
CN118410070A (zh) 一种多路径动态数据库查询方法及装置

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220429