CN111737347B - 在Spark平台顺序切分数据的方法及装置 - Google Patents
在Spark平台顺序切分数据的方法及装置 Download PDFInfo
- Publication number
- CN111737347B CN111737347B CN202010540731.0A CN202010540731A CN111737347B CN 111737347 B CN111737347 B CN 111737347B CN 202010540731 A CN202010540731 A CN 202010540731A CN 111737347 B CN111737347 B CN 111737347B
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- coordinates
- dimensional
- partition
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000015654 memory Effects 0.000 claims abstract description 32
- 230000011218 segmentation Effects 0.000 claims abstract description 15
- 238000005192 partition Methods 0.000 claims description 98
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种在Spark平台顺序切分数据的方法及装置,该方法包括:获取时序数据的数据集在Spark平台的分布信息;获取预先根据预设的所述时序数据中的目标数据段确定出的第一数据切分点和第二数据切分点;根据所述分布信息分别确定所述第一数据切分点和所述第二数据切分点的二维数据集坐标;根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,生成所述目标数据段对应的数据集。本发明提供了一种在Spark平台的较低内存及网络消耗的数据集切分方法。
Description
技术领域
本发明涉及Spark平台,具体而言,涉及一种在Spark平台顺序切分数据的方法及装置。
背景技术
金融时序数据是指金融随机变量按时间先后顺序所取的值。金融时序数据有着独特的统计特征,如波动集群行、杠杆效应。为了能够很好地刻画金融时序数据的统计特征,对金融时序数据进行合理的统计建模是非常重要的。而在统计建模前,需要对金融时序数据进行一系列的数据处理,按照时间顺序切分数据便是其中一种处理方式,按照时间顺序切分数据为从金融时序数据中截取出想要的一段或多段数据。
Apache Spark是一个用于大规模数据处理的分析引擎,用来构建大型的、低延迟的数据分析应用程序。高效地支撑多种计算模式,包括交互式查询和流处理。Spark平台将数据抽象为弹性分布式数据集(RDD),并将数据集分布在集群的多台机器上,使得多台机可以同时对数据进行相同的操作,实现数据的并行处理。
弹性分布式数据集(RDD)是一个只读的、可分布在集群中多个节点的数据集,这个数据集的全部或部分内容可以缓存在内存中,在多次计算之间重用。每个RDD被分为多个分区、存在于集群中不同节点上,便于在不同节点进行并行计算,RDD提供了一个高度受限的内存共享模型,不能对其进行修改。当内存不足时,则会将RDD保存磁盘中。
现有技术中,使用并行计算的Spark平台只提供随机切分数据的功能,无法按数据顺序切分数据,因此在Spark平台难以实现对时序数据按照顺序进行数据切分。
发明内容
本发明为了解决上述背景技术中的至少一个技术问题,提出了一种在Spark平台顺序切分数据的方法及装置。
为了实现上述目的,根据本发明的一个方面,提供了一种在Spark平台顺序切分数据的方法,该方法包括:
获取时序数据的数据集在Spark平台的分布信息,其中,所述分布信息包括:所述数据集的各分区的分区编号以及所述各分区各自对应的数据数量;
获取预先根据预设的所述时序数据中的目标数据段确定出的第一数据切分点和第二数据切分点;
根据所述分布信息分别确定所述第一数据切分点和所述第二数据切分点的二维数据集坐标,其中,所述二维数据集坐标中的第一坐标用于表示数据切分点所在分区的分区编号,所述二维数据集坐标中的第二坐标用于表示数据切分点在分区中的数据序号;
根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,生成所述目标数据段对应的数据集。
可选的,所述根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,包括:
将时序数据的数据集存储在每个分区的数据与所述二维数据集坐标进行对比,得到所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
可选的,所述根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,包括:
确定时序数据的数据集中每个数据的二维坐标,其中,所述二维坐标中的两个坐标用于表示数据所在分区的分区编号和数据在分区中的数据序号;
将每个数据的二维坐标与所述二维数据集坐标进行对比,确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
可选的,所述第一数据切分点为所述目标数据段的第一个数据,所述第二数据切分点为所述目标数据段的最后一个数据。
为了实现上述目的,根据本发明的另一方面,提供了一种在Spark平台顺序切分数据的装置,该装置包括:
数据集分布信息获取单元,用于获取时序数据的数据集在Spark平台的分布信息,其中,所述分布信息包括:所述数据集的各分区的分区编号以及所述各分区各自对应的数据数量;
切分点信息获取单元,用于获取预先根据预设的所述时序数据中的目标数据段确定出的第一数据切分点和第二数据切分点;
二维数据集坐标确定单元,用于根据所述分布信息分别确定所述第一数据切分点和所述第二数据切分点的二维数据集坐标,其中,所述二维数据集坐标中的第一坐标用于表示数据切分点所在分区的分区编号,所述二维数据集坐标中的第二坐标用于表示数据切分点在分区中的数据序号;
数据集生成单元,用于根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,生成所述目标数据段对应的数据集。
可选的,所述数据集生成单元,包括:
数据筛选模块,用于将时序数据的数据集存储在每个分区的数据与所述二维数据集坐标进行对比,得到所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
可选的,所述数据集生成单元,包括:
二维坐标确定模块,用于确定时序数据的数据集中每个数据的二维坐标,其中,所述二维坐标中的两个坐标用于表示数据所在分区的分区编号和数据在分区中的数据序号;
比较模块,用于将每个数据的二维坐标与所述二维数据集坐标进行对比,确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述在Spark平台顺序切分数据的方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述在Spark平台顺序切分数据的方法中的步骤。
本发明的有益效果为:本发明实施例根据时序数据的数据集在Spark平台的分布信息确定数据切分点的二维数据集坐标,进而根据二维数据集坐标进行数据筛选,生成预设的所述时序数据中的目标数据段对应的数据集,本发明能够实现了在Spark平台对时序数据的数据集进行切分,切分出用户所需的子数据集,此外本发明数据集切分方法直接按需选取每个分区自身内存的数据,没有额外的数据集(RDD)转换操作,避免了集群间的网络传输,不许要额外的内存消耗,降低了对于内存规格的硬性要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例在Spark平台顺序切分数据的方法的流程图;
图2是本发明实施例数据筛选的流程图;
图3是本发明实施例数据集各分区存储示意图;
图4是本发明实施例在Spark平台顺序切分数据的装置的结构框图;
图5是本发明实施例数据生成单元的结构框图;
图6是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图1是本发明实施例在Spark平台顺序切分数据的方法的流程图,如图1所示,本实施例的在Spark平台顺序切分数据的方法包括步骤S101至步骤S104。
步骤S101,获取时序数据的数据集在Spark平台的分布信息,其中,所述分布信息包括:所述数据集的各分区的分区编号以及所述各分区各自对应的数据数量。
在本发明实施例中,时序数据为具有时间先后顺序的数据,在Spark平台中时序数据以数据集(弹性分布式数据集,RDD)的形式进行分布式存储。数据集可分布存储在Spark集群中多个节点上,即数据集在Spark集群中划分为多个分区,每个节点对应一个分区,便于数据集中的数据在不同节点进行并行计算。
图3是本发明实施例数据集各分区存储示意图,图3实施例所示的数据集由4个分区组成,每个分区都包含两条数据,此时时序数据的数据集在Spark集群中的数据,是按时序数据的原有顺序分段保存在各节点中,即时序数据原有顺序为:“1:A,2:B,3:C……8:H”。为了方便理解,在图3中,以“1:A”为例:时序数据的数据集中的第1条数据,称之为序列号1,数据内容为“1:A”,以此类推,单个分区中的数据按相对顺序保存在对应的内存中。
在本发明实施例中,本步骤获取时序数据的数据集在Spark平台的分布信息,分布信息包括:数据集存储的各分区的分区编号、数据集存储的分区的总数量以及数据集存储的各分区中的数据数量。
步骤S102,获取预先根据预设的所述时序数据中的目标数据段确定出的第一数据切分点和第二数据切分点。
在本发明实施例中,用户先设置时序数据中想要截取出来的目标数据段,并根据该目标数据段确定第一数据切分点和第二数据切分点。在本发明实施例中,可以同时存在多个目标数据段,每个目标数据段对应一个第一数据切分点和一个第二数据切分点。在一实施例中,所述第一数据切分点为所述目标数据段的第一个数据,所述第二数据切分点为所述目标数据段的最后一个数据。
在本发明可选实施例中,第一数据切分点和第二数据切分点为时序数据中的位置信息,如时序数据中的第2条数据、时序数据中的第40条数据等。
在本发明可选实施例中,第一数据切分点和第二数据切分点可以用时序数据中的数据序列号来表示。例如时序数据共包含100条数据,数据的序列号为1至100,若想要切分出时序数据中第20条数据至第50条数据,则第一数据切分点为时序数据中第20条数据,用时序数据中的数据序列号20来表示,第二数据切分点为时序数据中第50条数据,用时序数据中的数据序列号50来表示。
步骤S103,根据所述分布信息分别确定所述第一数据切分点和所述第二数据切分点的二维数据集坐标,其中,所述二维数据集坐标中的第一坐标用于表示数据切分点所在分区的分区编号,所述二维数据集坐标中的第二坐标用于表示数据切分点在分区中的数据序号。
在本发明实施例中,第一数据切分点和第二数据切分点为时序数据(或数据集)中的位置信息或数据序列号,本步骤根据数据集的分布信息将一维的第一数据切分点和第二数据切分点转化为二维的数据集坐标。在一实施例中,二维数据集坐标的横坐标为数据切分点对应的数据所在分区的分区编号,纵坐标为数据切分点对应的数据分区中的数据序号(即为分区中的第几条数据)。
在本发明具体实施例中,本步骤可以根据第一数据切分点和第二数据切分点在时序数据(或数据集)中的位置信息或数据序列号、数据集中各分区的分区序号以及各分区中的数据数量,确定第一数据切分点和第二数据切分点的二维数据集坐标。
在如图3所示的实施例中,分区总个数为4,每个分区内的数据个数为2,假设需要将数据集切分为两个部分,切分点分别对应为时序数据(或数据集)的第1、5、6、8条数据,第1、5条数据为第一个目标数据段(子数据集)的切分点,第6、8条为第二个目标数据段(子数据集)的切分点。以第5条数据为例,即数据“5:E”,将一维的数据集序列号,即“5”,转化为此方案需要用到的二维坐标。可知前两个分区总共保存了前4条数据,第5条数据对应于在第3个分区的第1条数据,则将切分点“5”转换为(3,1),即“3号分区的第1条数据”。
步骤S104,根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,生成所述目标数据段对应的数据集。
在一实施例中,本步骤具体可以将时序数据的数据集存储在每个分区的数据与所述二维数据集坐标进行对比,得到所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
在一实施例中,第一数据切分点与第二数据切分点之间的数据包括第一数据切分点和第二数据切分点对应的数据。
在一实施例中,本步骤通过mapPartitionsWithIndex操作,将数据集每个分区的数据与步骤S102中获得的二维数据集坐标进行比较过滤,确定出第一数据切分点至第二数据切分点的数据。进而然后通过Spark的flatMap操作,在不移动内存中的数据、没有shuffle操作的前提下,生成新的数据集,即所述目标数据段对应的数据集,生成的新的数据集为时序数据的数据集的子集。
如图3所示,假如需要得到数据集中的第1至第5条数据,则切分点会转换为坐标(1,1)(即1号分区的第1条数据)和(3,1)(即3号分区的第1条数据)。每个分区的数据与切分点坐标比较后将得到分区1和分区2所有的数据和分区3的第1条数据,这些数据将会转换成新的数据集(RDD),即所述目标数据段对应的数据集。生成的新的数据集不会单独存储,可以理解为增加了索引,通过索引区分了数据。例如原RDD为1-8,新RDD为1-5,数据在集群各个节点的存储介质中没有发生变更和跨节点移动。
由于数据集RDD的特性,减小Spark集群中对内存和网络的消耗是提升数据处理的重要方式。本发明方法直接按需选取Spark集群中每个节点自身内存的数据(即数据集的每个分区的数据),没有额外的数据集RDD转换操作,避免了Spark集群间的网络传输,并且有效减少了内存消耗,降低了对于内存规格的硬性要求。如果对现有数据集RDD数据先编号,再按编号切分,则需要对RDD进行多次运算和跨节点全局编号,对Spark集群硬件资源消耗更大。
图2是本发明实施例数据筛选的流程图,如图2所示,上述步骤S104的确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据具体可以包括步骤S201和步骤S202。
步骤S201,确定时序数据的数据集中每个数据的二维坐标,其中,所述二维坐标中的两个坐标用于表示数据所在分区的分区编号和数据在分区中的数据序号。
在本发明可选实施例中,本发明可以按照上述步骤S103的方法确定出数据集中每个分区中的每个数据的二维坐标。在一可选实施例中,数据的二维坐标中的横坐标为数据所在分区的分区编号,纵坐标为数据在分区中的数据序号。
步骤S202,将每个数据的二维坐标与所述二维数据集坐标进行对比,确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
本发明实施例中,本步骤直接将数据的二维坐标与第一数据切分点和第二数据切分点的二维数据集坐标进行对比,确定出数据集中第一数据切分点至第二数据切分点的数据。
由以上实施例可以看出,本发明方法能够弥补Apache Spark数据拆分功能的不足,实现顺序拆分数据的功能,并减少对集群内存和网络的消耗。在构建机器学习模型时用到的时序数据,依照时间顺序按比例分割数据,均可以采用本发明本方法来实现。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种在Spark平台顺序切分数据的装置,可以用于实现上述实施例所描述的在Spark平台顺序切分数据的方法,如下面的实施例所述。由于在Spark平台顺序切分数据的装置解决问题的原理与在Spark平台顺序切分数据的方法相似,因此在Spark平台顺序切分数据的装置的实施例可以参见在Spark平台顺序切分数据的方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本发明实施例在Spark平台顺序切分数据的装置的结构框图,如图4所示,本发明实施例在Spark平台顺序切分数据的装置包括:数据集分布信息获取单元1、切分点信息获取单元2、二维数据集坐标确定单元3和数据集生成单元4。
数据集分布信息获取单元1,用于获取时序数据的数据集在Spark平台的分布信息,其中,所述分布信息包括:所述数据集的各分区的分区编号以及所述各分区各自对应的数据数量。
切分点信息获取单元2,用于获取预先根据预设的所述时序数据中的目标数据段确定出的第一数据切分点和第二数据切分点。
二维数据集坐标确定单元3,用于根据所述分布信息分别确定所述第一数据切分点和所述第二数据切分点的二维数据集坐标,其中,所述二维数据集坐标中的第一坐标用于表示数据切分点所在分区的分区编号,所述二维数据集坐标中的第二坐标用于表示为数据切分点在分区中的数据序号。
数据集生成单元4,用于根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,生成所述目标数据段对应的数据集。
在本发明一可选实施例中,所述数据集生成单元4包括:
数据筛选模块,用于将时序数据的数据集存储在每个分区的数据与所述二维数据集坐标进行对比,得到所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
图5是本发明实施例数据生成单元的结构框图,如图5所示,在本发明可选实施例中,所述数据集生成单元4包括二维坐标确定模块401和比较模块402。
二维坐标确定模块401,用于确定时序数据的数据集中每个数据的二维坐标,其中,所述二维坐标中的两个坐标用于表示数据所在分区的分区编号和数据在分区中的数据序号。
比较模块402,用于将每个数据的二维坐标与所述二维数据集坐标进行对比,确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图6所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述在Spark平台顺序切分数据的方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种在Spark平台顺序切分数据的方法,其特征在于,包括:
获取时序数据的数据集在Spark平台的分布信息,其中,所述分布信息包括:所述数据集的各分区的分区编号以及所述各分区各自对应的数据数量,所述Spark平台为Spark集群,所述数据集分布存储在所述Spark集群中多个节点上,每个节点对应一个分区;
获取预先根据预设的所述时序数据中的目标数据段确定出的第一数据切分点和第二数据切分点;
根据所述分布信息分别确定所述第一数据切分点和所述第二数据切分点的二维数据集坐标,其中,所述二维数据集坐标中的第一坐标用于表示数据切分点所在分区的分区编号,所述二维数据集坐标中的第二坐标用于表示数据切分点在分区中的数据序号;
根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,生成所述目标数据段对应的数据集;
所述根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,包括:
确定时序数据的数据集中每个数据的二维坐标,其中,所述二维坐标中的两个坐标用于表示数据所在分区的分区编号和数据在分区中的数据序号;
将每个数据的二维坐标与所述二维数据集坐标进行对比,确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
2.根据权利要求1所述的在Spark平台顺序切分数据的方法,其特征在于,所述根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,包括:
将时序数据的数据集存储在每个分区的数据与所述二维数据集坐标进行对比,得到所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
3.根据权利要求1所述的在Spark平台顺序切分数据的方法,其特征在于,所述第一数据切分点为所述目标数据段的第一个数据,所述第二数据切分点为所述目标数据段的最后一个数据。
4.一种在Spark平台顺序切分数据的装置,其特征在于,包括:
数据集分布信息获取单元,用于获取时序数据的数据集在Spark平台的分布信息,其中,所述分布信息包括:所述数据集的各分区的分区编号以及所述各分区各自对应的数据数量,所述Spark平台为Spark集群,所述数据集分布存储在所述Spark集群中多个节点上,每个节点对应一个分区;
切分点信息获取单元,用于获取预先根据预设的所述时序数据中的目标数据段确定出的第一数据切分点和第二数据切分点;
二维数据集坐标确定单元,用于根据所述分布信息分别确定所述第一数据切分点和所述第二数据切分点的二维数据集坐标,其中,所述二维数据集坐标中的第一坐标用于表示数据切分点所在分区的分区编号,所述二维数据集坐标中的第二坐标用于表示数据切分点在分区中的数据序号;
数据集生成单元,用于根据所述二维数据集坐标确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据,生成所述目标数据段对应的数据集;
所述数据集生成单元,包括:
二维坐标确定模块,用于确定时序数据的数据集中每个数据的二维坐标,其中,所述二维坐标中的两个坐标用于表示数据所在分区的分区编号和数据在分区中的数据序号;
比较模块,用于将每个数据的二维坐标与所述二维数据集坐标进行对比,确定所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
5.根据权利要求4所述的在Spark平台顺序切分数据的装置,其特征在于,所述数据集生成单元,包括:
数据筛选模块,用于将时序数据的数据集存储在每个分区的数据与所述二维数据集坐标进行对比,得到所述数据集中所述第一数据切分点与所述第二数据切分点之间的数据。
6.根据权利要求4所述的在Spark平台顺序切分数据的装置,其特征在于,所述第一数据切分点为所述目标数据段的第一个数据,所述第二数据切分点为所述目标数据段的最后一个数据。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述的方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至3任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010540731.0A CN111737347B (zh) | 2020-06-15 | 2020-06-15 | 在Spark平台顺序切分数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010540731.0A CN111737347B (zh) | 2020-06-15 | 2020-06-15 | 在Spark平台顺序切分数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737347A CN111737347A (zh) | 2020-10-02 |
CN111737347B true CN111737347B (zh) | 2024-02-13 |
Family
ID=72649141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010540731.0A Active CN111737347B (zh) | 2020-06-15 | 2020-06-15 | 在Spark平台顺序切分数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737347B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817976B (zh) * | 2021-01-26 | 2024-04-05 | 广州欢网科技有限责任公司 | 一种id生成方法、***、计算机及可读指令存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007036839A (ja) * | 2005-07-28 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | パケット交換網における品質劣化切り分け装置および切り分けシステム、ならびに切り分け方法 |
CN106682116A (zh) * | 2016-12-08 | 2017-05-17 | 重庆邮电大学 | 基于Spark内存计算大数据平台的OPTICS点排序聚类方法 |
CA2981555A1 (en) * | 2016-10-07 | 2018-04-07 | 1Qb Information Technologies Inc. | System and method for displaying data representative of a large dataset |
CN108256088A (zh) * | 2018-01-23 | 2018-07-06 | 清华大学 | 一种基于键值数据库的时序数据的存储方法及*** |
CN109325026A (zh) * | 2018-08-14 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 基于大数据平台的数据处理方法、装置、设备及介质 |
CN109656980A (zh) * | 2018-12-27 | 2019-04-19 | Oppo(重庆)智能科技有限公司 | 数据处理方法、电子设备、装置及可读存储介质 |
CN110765154A (zh) * | 2019-10-16 | 2020-02-07 | 华电莱州发电有限公司 | 火电厂海量实时生成数据的处理方法及装置 |
CN111159235A (zh) * | 2019-12-20 | 2020-05-15 | 中国建设银行股份有限公司 | 数据预分区方法、装置、电子设备及可读存储介质 |
CN111259117A (zh) * | 2020-01-16 | 2020-06-09 | 广州拉卡拉信息技术有限公司 | 短文本批量匹配方法及装置 |
-
2020
- 2020-06-15 CN CN202010540731.0A patent/CN111737347B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007036839A (ja) * | 2005-07-28 | 2007-02-08 | Nippon Telegr & Teleph Corp <Ntt> | パケット交換網における品質劣化切り分け装置および切り分けシステム、ならびに切り分け方法 |
CA2981555A1 (en) * | 2016-10-07 | 2018-04-07 | 1Qb Information Technologies Inc. | System and method for displaying data representative of a large dataset |
CN106682116A (zh) * | 2016-12-08 | 2017-05-17 | 重庆邮电大学 | 基于Spark内存计算大数据平台的OPTICS点排序聚类方法 |
CN108256088A (zh) * | 2018-01-23 | 2018-07-06 | 清华大学 | 一种基于键值数据库的时序数据的存储方法及*** |
CN109325026A (zh) * | 2018-08-14 | 2019-02-12 | 中国平安人寿保险股份有限公司 | 基于大数据平台的数据处理方法、装置、设备及介质 |
CN109656980A (zh) * | 2018-12-27 | 2019-04-19 | Oppo(重庆)智能科技有限公司 | 数据处理方法、电子设备、装置及可读存储介质 |
CN110765154A (zh) * | 2019-10-16 | 2020-02-07 | 华电莱州发电有限公司 | 火电厂海量实时生成数据的处理方法及装置 |
CN111159235A (zh) * | 2019-12-20 | 2020-05-15 | 中国建设银行股份有限公司 | 数据预分区方法、装置、电子设备及可读存储介质 |
CN111259117A (zh) * | 2020-01-16 | 2020-06-09 | 广州拉卡拉信息技术有限公司 | 短文本批量匹配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111737347A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180081034A1 (en) | Method and device for constructing spatial index of massive point cloud data | |
CN107122490B (zh) | 一种分组查询中聚合函数的数据处理方法及*** | |
CN105956666B (zh) | 一种机器学习方法及*** | |
CN107908536B (zh) | Cpu-gpu异构环境中对gpu应用的性能评估方法及*** | |
Xie et al. | Elite: an elastic infrastructure for big spatiotemporal trajectories | |
Patwary et al. | Window-based streaming graph partitioning algorithm | |
Su et al. | Tolerating correlated failures in massively parallel stream processing engines | |
Bala et al. | P-ETL: Parallel-ETL based on the MapReduce paradigm | |
CN111737347B (zh) | 在Spark平台顺序切分数据的方法及装置 | |
CN109241193A (zh) | 分布式数据库的处理方法和装置,及服务器集群 | |
Chen et al. | HiClus: Highly scalable density-based clustering with heterogeneous cloud | |
CN111125248A (zh) | 一种大数据存储解析查询*** | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、***及装置 | |
CN114461858A (zh) | 一种因果关系分析模型构建及因果关系分析方法 | |
Yang et al. | Efficient parallel and adaptive partitioning for load-balancing in spatial join | |
CN112614207A (zh) | 等值线绘制方法、装置和设备 | |
KR20180085633A (ko) | 질의 처리 장치 및 방법 | |
CN115982230A (zh) | 数据库的跨数据源查询方法、***、设备及存储介质 | |
CN111143456B (zh) | 基于Spark的Cassandra数据导入方法、装置、设备及介质 | |
CN110083598B (zh) | 一种面向Spark的遥感数据索引方法、***及电子设备 | |
CN113868267A (zh) | 注入时序数据的方法、查询时序数据的方法及数据库*** | |
Khan et al. | Computational performance analysis of cluster-based technologies for big data analytics | |
CN113312312B (zh) | 一种基于lsm高效查询流数据的分布式索引方法及*** | |
CN104111868A (zh) | 一种推测多线程调度方法及装置 | |
CN114911626A (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 |