CN108984547A - 数据处理的方法和装置 - Google Patents

数据处理的方法和装置 Download PDF

Info

Publication number
CN108984547A
CN108984547A CN201710398741.3A CN201710398741A CN108984547A CN 108984547 A CN108984547 A CN 108984547A CN 201710398741 A CN201710398741 A CN 201710398741A CN 108984547 A CN108984547 A CN 108984547A
Authority
CN
China
Prior art keywords
data
spark
data processing
data source
dataframe
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
Application number
CN201710398741.3A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710398741.3A priority Critical patent/CN108984547A/zh
Publication of CN108984547A publication Critical patent/CN108984547A/zh
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

本发明公开了一种数据处理方法和数据处理装置,涉及计算机技术领域。所述数据处理方法的一个具体实施方式包括将包括文本数据、关系型数据库数据和分布式集群数据的多种数据源统一转化为Spark Dataframe,并注册为Spark临时表;并且根据用户以sql方式进行的输入,跨所述数据源对所述Spark临时表执行查询。该实施方式能够在保留原有业务逻辑的前提下,将原有传统数据库的内存和计算压力转移到分布式集群并且转化为带宽压力,并且支持对多类数据源的混合查询。

Description

数据处理的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于分布式环境及内存计算的、用于基于传统数据库的大数据量系统的数据处理方法、数据处理装置、电子设备和存储介质。
背景技术
随着计算机技术的发展,数据存储呈现出多样性,所涉及的数据量也持续快速增长,对于数据分析、挖掘提出的诸多挑战。
为了处理这些数据,使用诸如MySQL的传统关系型数据库,其通过诸如join、groupby、orderby等操作对数据进行处理。然而,诸如MySQL的传统关系型数据库的缺点在于,其数据处理能力有限,随着数据量的增加,join、groupby、orderby等操作出现速度极慢,甚至将机器资源耗尽、不能运行的情况。
为了解决大数据存储和计算的问题,现有的可行且普遍的方案是分布式计算和分布式存储。这些现有解决方案将传统数据库的数据转移到分布式系统中,进而使用分布式系统的计算框架来解决运行慢的问题。
然而,这些现有解决方案的缺点是:
1)数据转移成本太大。这主要表现在保证数据准确性方面,例如在处理不同数据类型的转换及换行符等处理方面,需要耗费极大的人力成本;
2)数据处理有延迟。传统数据库的数据量太大,转移数据需要相当长的时间,不能适应开展实时业务的需求;
3)传统数据库的数据需要在分布式系统中备份。这极大地浪费了存储空间;以及
4)难以进行跨数据源的处理。例如,经常需要对分布式数据库、传统数据库或对结构化数据、半结构化数据进行混合查询。对此,目前普遍的处理方式是将一个数据源的数据导入另一数据源,例如通过包括sqoop、JDBC(Java Data Base Connectivity:java数据库连接)、Hive外表等技术应用。然而,此种处理方式处理周期长,并且sqoop对特殊字符的处理存在问题。
因此,在现有技术中,对于以传统数据库起步的业务,在数据量增大到一定程度时,会出现以下问题:数据处理速度过慢,并且由于数据源类型不统一造成数据处理流程繁杂、缓慢。
发明内容
有鉴于此,本发明实施例提供一种基于分布式环境及内存计算的、用于基于传统数据库的大数据量系统的数据处理方法、数据处理装置、电子设备和存储介质,能够在保留原有业务逻辑的前提下,将原有传统数据库的内存和计算压力转移到分布式集群并且转化为带宽压力,并且支持对多类数据源的混合查询。
为实现上述目的,根据本发明的一个实施例,提供了一种数据处理方法。
根据本发明的实施例的数据处理方法包括:将来自一个或多个数据源的数据转化为Spark Dataframe,所述数据源包括文本数据源、关系型数据库和分布式集群中的一种或多种;将转化的所述Spark Dataframe注册为Spark临时表;并且根据用户以sql方式进行的输入,跨所述数据源对所述Spark临时表执行查询。
Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark Dataframe是被组织为命名的列的分布式数据集。在概念上,Spark Dataframe等同于关系型数据库中的表或者R/Python中的数据框(data frame),但是在后台具有更丰富的优化。
可选地,当所述数据源是关系型数据库时,所述数据处理方法还包括:定期地将转化的所述Spark Dataframe导入分布式集群。
可选地,其中,当所述数据源是文本数据源时,所述数据处理方法还包括:对每个数据源定义正则表达式与临时表schema;通过所述正则表达式来将所述文本数据转化为Spark RDD;以及结合所述临时表schema将所述Spark RDD转化为所述Spark Dataframe。
可选地,所述数据处理数据处理方法包括:将查询结果以中间表形式保存至关系型数据库或分布式集群。
为实现上述目的,根据本发明的另一个实施例,提供了一种数据处理装置。
根据本发明的实施例的数据处理装置包括:数据转化模块,用于将来自一个或多个数据源的数据转化为Spark Dataframe,所述数据源包括文本数据源、关系型数据库和分布式集群中的一种或多种;表注册模块,用于将转化的所述Spark Dataframe注册为Spark临时表;以及查询模块,用于根据用户以sql方式进行的输入,跨所述数据源对所述Spark临时表执行查询。
可选地,所述数据处理装置还包括加载模块,用于当所述数据源是关系型数据库时,定期地将转化的所述Spark Dataframe导入分布式集群。
可选地,所述数据处理装置还包括结构化模块,用于当所述数据源是文本数据源时,执行以下操作:对每个数据源定义正则表达式与临时表schema;通过所述正则表达式来将所述文本数据转化为Spark RDD;以及结合所述临时表schema将所述Spark RDD转化为所述Spark Dataframe。
可选地,所述数据处理装置还包括表回存模块,用于将查询结果以中间表形式保存至关系型数据库或分布式集群。
为实现上述目的,根据本发明的再一实施例,提供了一种电子设备。
根据本发明实施例的一种电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明的实施例所提供的数据处理方法。
为实现上述目的,根据本发明的又一实施例,提供了一种非暂态计算机可读存储介质。
根据本发明实施例的一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明的实施例所提供的数据处理方法。
上述发明中的实施例具有如下优点或有益效果:
1)针对以传统关系型数据库例如MySQL起步的业务,能够保留原有业务逻辑;
2)因为将传统关系型数据库(诸如MySQL)数据转化为Spark Dataframe,并注册为Spark临时表,与直接操作传统关系型数据库相比,Spark使用spark-on-yarn模式,将计算压力从传统关系型数据库转移到分布式集群,所以克服了由于传统关系型数据库数据处理能力有限的技术问题,进而提高了运算速度;以及
3)因为定期地将基于传统关系型数据库数据的Spark Dataframe导入分布式集群Hadoop中并存于HDFS(Hadoop Distributed File System:Hadoop分布式文件系统)上,所以克服了由于数据转移造成的成本大、有延迟、浪费存储空间的技术问题,进而实现将原有传统数据库的内存、计算压力转化为低成本的带宽压力;以及
4)因为将所有数据源统一转化为Spark Dataframe,并注册为Spark临时表,所以克服了由于数据源类型不统一造成数据处理流程繁杂、缓慢的技术问题,进而实现对多类数据源的混合查询的支持。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是实现根据本发明实施例的数据处理方法的数据处理系统的系统框架图;
图2是根据本发明实施例的数据处理方法的一个示例的示意图;
图3是根据本发明实施例的数据处理方法的另一个示例的示意图;
图4是根据本发明实施例的数据处理方法的再一个示例的示意图;
图5是通过根据本发明实施例的数据处理方法来访问数据的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;以及
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是实现根据本发明实施例的数据处理方法的数据处理系统的系统框架图。
根据本发明实施例的数据处理系统包括Spark查询系统(Spark query system)101。Spark查询系统101是根据本发明实施例的数据处理系统的核心,其功能有两部分:
1.支持对不同类型的一个或多个数据源103、104和105的访问:其整体思路是将所有数据源统一的转化为Spark Dataframe,并注册为Spark临时表。从用户的角度看到的都是Spark查询系统中的表,用户可直接对这些表通过sql的方式进行处理,即可查询到所有的数据源,而并不需要关心表的存储方式。结果能够以Excel形式示出,如附图标记107所示。
2.支持将结果作为中间表回存至多类数据源:这可通过直接调用相应数据源的api来实现。例如使用JDBC api写入MySQL,使用jedis写入Redis等,如附图标记108所示。
根据本发明实施例的数据处理方法能够实现基于Spark的数据仓库(datawarehouse),支持多种类型的数据源,包括文本数据(txt文件等)103、传统关系型数据库数据(比如MySQL)104,和分布式集群数据(Parquet,hbase)105,并支持对所有数据源的混合查询,用户无需知道具体数据源的位置及存储形式,使用sql语句可对所有数据源进行操作。以下结合图2至图4阐述根据本发明实施例数据处理方法如何支持各类数据源并举例说明其处理过程。
图2是根据本发明实施例的数据处理方法的一个示例的示意图,示出了针对文本文件诸如Log文件的处理。
针对文本文件,如txt、Excel或Log数据,系统会通过Txt(RegEx)模块,对每个输入源定义正则表达式与临时表的schema,将半结构化数据直接转化为结构化表。在处理过程中,根据本发明实施例的数据处理方法通过正则表达式获取有用信息并转化为Spark RDD,结合输入的临时表schema,将RDD+schema转化为Spark Dataframe,进而注册为Spark临时表,然后与其余数据源进行混合查询。
例如,在S101中,数据分析师可能需要获知每个服务器(service)应用程序每天的执行状态情况。相应的Log文件的记录如下所示:
Service1:[2016-07-23]INFO:core\service\DealService|succ
Service1:[2016-07-23]INFO:core\service\DealService|fail
Service2:[2016-07-23]INFO:core\service\DealService|succ
Service3:[2016-07-23]INFO:core\service\DealService|succ
Service1:[2016-07-24]INFO:core\service\DealService|pass
Service3:[2016-07-24]INFO:core\service\DealService succ
Service2:[2016-07-24]INFO:core\service\DealService|succ
……
在S102中,可以定义正则表达式,例如输入RegExo:Service〔[^]+〕:{〔[^]+)INFO:core\service\DealService|([^]+),将Log数据经正则提取后转化为Spark RDD,如下所示:
1 2016-07-23 succ
1 2016-07-23 fail
2 2016-07-23 succ
3 2016-07-23 succ
1 2016-07-24 pass
3 2016-07-24 succ
2 2016-07-24 succ
……
在S103中,可以结合输入的临时表schema,例如,输入Schema:Service.day.status,将RDD+schema转化为Spark Dataframe。
在S104中,将Spark Dataframe注册为Spark临时表TABLE1:
最终的TABLE1即为注册的临时表,之后便可使用Spark sql进行sql统计查询。
图3是根据本发明实施例的数据处理方法的另一个示例的示意图,示出了针对传统关系型数据库数据诸如MySQL数据的处理。
Spark依赖于jdbc来支持对传统关系型数据库的访问。例如,针对MySQL数据,Spark支持直接将MySQL表转化为Spark Dataframe,然后注册为临时表进行混合查询。与直接操作MySQL相比,由于Spark使用spark-on-yarn模式,此时计算压力从MySQL转移到分布式集群。针对数据量比较大的数据,可将数据加载到HDFS上,以列式存储Parquet格式存储,利用分布式集群的存储优势,提高运算速度。
例如,通过以下过程将MySQL表转化为Spark临时表TABLE2:在S201中,数据分析师可能需要查询MySQL表。在S202中,将MySQL表转化为Spark Dataframe。在S203中,将SparkDataframe注册为Spark临时表TABLE2。
图4是根据本发明实施例的数据处理方法的再一个示例的示意图示出了针对分布式集群诸如Parquet表的处理。
根据本发明实施例的数据处理方法支持对HDFS中的Parquet、hbase表进行查询,另外Spark原生支持对Hive表的查询,所以通过sql解析器层106定位到各个数据源后,统一转化为Spark Dataframe,进而可以对分布式集群上的数据库hbase、Hive、Parquet等进行混合查询。
例如,通过以下过程将Parquet表转化为Spark临时表TABLE3:在S301中,数据分析师可能需要查询HDFS上的Parquet表。在S302中,基于表位置将Parquet表转化为SparkDataframe。在S303中,将Spark Dataframe注册为Spark临时表TABLE3。
图5是通过根据本发明实施例的数据处理方法来访问数据的示意图。
如图5所示,根据本发明实施例的数据处理方法将包括文本数据、传统关系型数据库数据和分布式集群数据的多种数据源转化为Spark Dataframe,并注册为临时表。此后,根据本发明实施例的数据处理方法通过sql命令的方式对临时表进行混合访问。从用户的角度来讲,并不需要知道TABLE1为Log文件、TABLE2为MySQL表、TABLE3为Parquet表、TABLE4为hive表等信息。
以下描述实现根据本发明实施例的数据处理方法的数据处理系统的运行流程:
1.在每天固定时间,一般在业务量小的事情,比如凌晨时间,将前一天的数据通过Spark加载系统(spark loading system)102转化为Spark Dataframe,并且直接将Dataframe导入分布式集群Hadoop中,存于HDFS上,为后期分布式计算做准备。
2.诸如数据分析师的用户在处理此部分数据时,输入sql语句,系统sql解析器层106会对数据源进行定位
3.Spark查询系统101基于Spark sql引擎执行查询。
4.如果需要对查询结果进行保存,方便后期操作,可将数据存于中间表:Parquet、hbase、MySQL等。下次查询时,可直接对此表进行操作。也可存于Redis中,直接对数据进行展示。
图6是本发明实施例可以应用于其中的示例性系统架构图。
如图6所示,执行根据本发明实施例的数据处理方法的数据处理装置包括:数据转化模块601、表注册模块602、查询模块603、加载模块604、结构化模块605和表回存模块606。
数据转化模块601用于将来自一个或多个数据源的数据转化为Spark Dataframe。所述数据源包括文本数据源、关系型数据库和分布式集群中的一种或多种。
表注册模块602用于将转化的所述Spark Dataframe注册为Spark临时表。
查询模块603用于根据用户以sql方式进行的输入,跨所述数据源对所述Spark临时表执行混合查询。
加载模块604用于针对关系型数据库,定期地将转化的所述Spark Dataframe导入分布式集群。
结构化模块605用于针对文本数据源,对每个数据源定义正则表达式与临时表schema,通过所述正则表达式来将所述文本数据转化为Spark RDD,并且结合所述临时表schema将所述Spark RDD转化为所述Spark Dataframe。
表回存模块606用于将查询结果以中间表形式保存至关系型数据库或分布式集群,例如保存至Parquet、hbase、MySQL或Redis。
下面参考图7,其示出了适于用来实现本申请实施例的数据处理方法的计算机系统700的结构示意图。图7示出的计算机系统仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分707;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考图1至图5描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行图1至图5所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取模块、确定模块和第一处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备将来自一个或多个数据源的数据转化为Spark Dataframe,所述数据源包括文本数据源、关系型数据库和分布式集群中的一种或多种;将转化的所述Spark Dataframe注册为Spark临时表;并且根据用户以sql方式进行的输入,跨所述数据源对所述Spark临时表执行查询。
根据本发明实施例的数据处理方法、数据处理装置、电子设备和存储介质,能够带来以下有益效果:
·针对传统关系型数据库,比如MySQL,将计算压力转移到Hadoop(spark-on-yarn)集群中;针对是否有实时性要求的数据分析需求,分为两条线处理:
1)实时数据:利用图中的Spark查询系统,将MySQL表转换为Dataframe,执行对Dataframe的sql运算;
2)非实时数据:此为大部分需求,一般分析截止到前一天的数据,此种情况下,利用Spark加载系统,每天定时将数据转化为Spark Dataframe,并且将Dataframe导入HDFS,以Parquet表(列式存储)格式存储。
此种情况下,MySQL只有导表的压力,此压力相当于执行select*from tablelimit$spark_partition_num,其中spark_partition_num是Spark在导入MySQL数据时,根据表情况进行的分片大小,可由用户设定。此部分是对数据的全量导入,传统数据库没有计算压力,系统压力集中的带宽上,对公司内部来讲万兆网的带宽足够使用。离线数据导入HDFS中时,以Parquet格式存储,Parquet是列式存储,运算速度快。
·针对跨库、跨数据源操作,通过Spark查询系统将各类数据源转换为Dataframe并利用Spark sql运行跨表的sql运算。
·通过Txt(RegEx)模块将半结构化数据直接转化为结构化表,可使用sql进行操作。
·对数据分析师来讲,数据操作入口统一,无需关心数据源,操作模式只有sql一种。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
将来自一个或多个数据源的数据转化为Spark Dataframe,所述数据源包括文本数据源、关系型数据库和分布式集群中的一种或多种;
将转化的所述Spark Dataframe注册为Spark临时表;并且
根据用户以sql方式进行的输入,跨所述数据源对所述Spark临时表执行查询。
2.根据权利要求1所述的数据处理方法,
其中,当所述数据源是关系型数据库时,所述数据处理方法还包括:
定期地将转化的所述Spark Dataframe导入分布式集群。
3.根据权利要求1所述的数据处理方法,
其中,当所述数据源是文本数据源时,所述数据处理方法还包括:
对每个数据源定义正则表达式与临时表schema;
通过所述正则表达式来将所述文本数据转化为Spark RDD;以及
结合所述临时表schema将所述Spark RDD转化为所述Spark Dataframe。
4.根据权利要求1-3所述的数据处理方法,还包括:
将查询结果以中间表形式保存至关系型数据库或分布式集群。
5.一种数据处理装置,其特征在于,包括:
数据转化模块,用于将来自一个或多个数据源的数据转化为Spark Dataframe,所述数据源包括文本数据源、关系型数据库和分布式集群中的一种或多种;
表注册模块,用于将转化的所述Spark Dataframe注册为Spark临时表;以及
查询模块,用于根据用户以sql方式进行的输入,跨所述数据源对所述Spark临时表执行查询。
6.根据权利要求5所述的数据处理装置,其中,所述数据处理装置还包括加载模块,用于当所述数据源是关系型数据库时,定期地将转化的所述Spark Dataframe导入分布式集群。
7.根据权利要求5所述的数据处理装置,其中,所述数据处理装置还包括结构化模块,用于当所述数据源是文本数据源时,执行以下操作:
对每个数据源定义正则表达式与临时表schema;
通过所述正则表达式来将所述文本数据转化为Spark RDD;以及
结合所述临时表schema将所述Spark RDD转化为所述Spark Dataframe。
8.根据权利要求5-7所述的数据处理装置,其中,
所述数据处理装置还包括表回存模块,用于将查询结果以中间表形式保存至关系型数据库或分布式集群。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
CN201710398741.3A 2017-05-31 2017-05-31 数据处理的方法和装置 Pending CN108984547A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710398741.3A CN108984547A (zh) 2017-05-31 2017-05-31 数据处理的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710398741.3A CN108984547A (zh) 2017-05-31 2017-05-31 数据处理的方法和装置

Publications (1)

Publication Number Publication Date
CN108984547A true CN108984547A (zh) 2018-12-11

Family

ID=64502015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710398741.3A Pending CN108984547A (zh) 2017-05-31 2017-05-31 数据处理的方法和装置

Country Status (1)

Country Link
CN (1) CN108984547A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918429A (zh) * 2019-01-21 2019-06-21 武汉烽火众智智慧之星科技有限公司 基于Redis的Spark数据处理方法及系统
CN110209646A (zh) * 2019-05-14 2019-09-06 汇通达网络股份有限公司 一种基于实时流式计算的数据平台系统
CN111368097A (zh) * 2020-03-30 2020-07-03 中国建设银行股份有限公司 一种知识图谱抽取方法及装置
CN112148762A (zh) * 2019-06-28 2020-12-29 西安京迅递供应链科技有限公司 一种实时数据流的统计方法和装置
CN112579673A (zh) * 2020-12-25 2021-03-30 中国建设银行股份有限公司 一种多源数据处理方法及装置
CN112732704A (zh) * 2019-10-14 2021-04-30 中移(苏州)软件技术有限公司 一种数据处理方法、装置及存储介质
CN114625757A (zh) * 2022-03-29 2022-06-14 医渡云(北京)技术有限公司 基于领域特定语言的任务执行方法及装置、介质、设备
CN115905392A (zh) * 2022-12-23 2023-04-04 中电金信软件有限公司 流批一体的数据处理方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102354317A (zh) * 2011-09-22 2012-02-15 用友软件股份有限公司 数据生成装置和方法
CN104123374A (zh) * 2014-07-28 2014-10-29 北京京东尚科信息技术有限公司 分布式数据库中聚合查询的方法及装置
CN105426481A (zh) * 2015-11-19 2016-03-23 北京京东尚科信息技术有限公司 处理数据的方法及装置
CN105760477A (zh) * 2016-02-15 2016-07-13 中国建设银行股份有限公司 面向多个数据源的数据查询方法、系统及其相关设备
WO2016118783A1 (en) * 2015-01-23 2016-07-28 Attivio, Inc. Querying across a composite join of multiple database tables using a search engine index
CN106354876A (zh) * 2016-09-22 2017-01-25 珠海格力电器股份有限公司 一种数据处理系统和方法
CN106570193A (zh) * 2016-11-17 2017-04-19 深圳市康拓普信息技术有限公司 一种时序大数据的加载方法
CN106570022A (zh) * 2015-10-10 2017-04-19 阿里巴巴集团控股有限公司 一种跨数据源查询方法、装置及系统
CN106649630A (zh) * 2016-12-07 2017-05-10 乐视控股(北京)有限公司 数据查询方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102354317A (zh) * 2011-09-22 2012-02-15 用友软件股份有限公司 数据生成装置和方法
CN104123374A (zh) * 2014-07-28 2014-10-29 北京京东尚科信息技术有限公司 分布式数据库中聚合查询的方法及装置
WO2016118783A1 (en) * 2015-01-23 2016-07-28 Attivio, Inc. Querying across a composite join of multiple database tables using a search engine index
CN106570022A (zh) * 2015-10-10 2017-04-19 阿里巴巴集团控股有限公司 一种跨数据源查询方法、装置及系统
CN105426481A (zh) * 2015-11-19 2016-03-23 北京京东尚科信息技术有限公司 处理数据的方法及装置
CN105760477A (zh) * 2016-02-15 2016-07-13 中国建设银行股份有限公司 面向多个数据源的数据查询方法、系统及其相关设备
CN106354876A (zh) * 2016-09-22 2017-01-25 珠海格力电器股份有限公司 一种数据处理系统和方法
CN106570193A (zh) * 2016-11-17 2017-04-19 深圳市康拓普信息技术有限公司 一种时序大数据的加载方法
CN106649630A (zh) * 2016-12-07 2017-05-10 乐视控股(北京)有限公司 数据查询方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
于俊等: "《Spark核心技术与高级应用》", 31 January 2016 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109918429A (zh) * 2019-01-21 2019-06-21 武汉烽火众智智慧之星科技有限公司 基于Redis的Spark数据处理方法及系统
CN110209646A (zh) * 2019-05-14 2019-09-06 汇通达网络股份有限公司 一种基于实时流式计算的数据平台系统
CN112148762A (zh) * 2019-06-28 2020-12-29 西安京迅递供应链科技有限公司 一种实时数据流的统计方法和装置
CN112732704A (zh) * 2019-10-14 2021-04-30 中移(苏州)软件技术有限公司 一种数据处理方法、装置及存储介质
CN112732704B (zh) * 2019-10-14 2022-12-13 中移(苏州)软件技术有限公司 一种数据处理方法、装置及存储介质
CN111368097A (zh) * 2020-03-30 2020-07-03 中国建设银行股份有限公司 一种知识图谱抽取方法及装置
CN112579673A (zh) * 2020-12-25 2021-03-30 中国建设银行股份有限公司 一种多源数据处理方法及装置
CN114625757A (zh) * 2022-03-29 2022-06-14 医渡云(北京)技术有限公司 基于领域特定语言的任务执行方法及装置、介质、设备
CN115905392A (zh) * 2022-12-23 2023-04-04 中电金信软件有限公司 流批一体的数据处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108984547A (zh) 数据处理的方法和装置
US11630830B2 (en) Background format optimization for enhanced queries in a distributed computing cluster
US9990399B2 (en) Low latency query engine for apache hadoop
CN109189835A (zh) 实时生成数据宽表的方法和装置
CN110019267A (zh) 一种元数据更新方法、装置、系统、电子设备及存储介质
EP2778968B1 (en) Mobile telecommunication device remote access to cloud-based or virtualized database systems
CN108804447A (zh) 利用缓存响应数据请求的方法和系统
CN106445645B (zh) 用于执行分布式计算任务的方法和装置
CN103810272A (zh) 一种数据处理方法和系统
CN107688659A (zh) 一种数据处理方法及装置
CN109783562A (zh) 一种业务处理方法和装置
US9195682B2 (en) Integrated analytics on multiple systems
CN110147507A (zh) 一种获取短链接地址的方法、装置及服务器
CN113704291A (zh) 数据查询方法、装置、存储介质及电子设备
Kim et al. A study on utilization of spatial information in heterogeneous system based on apache nifi
CN109960212A (zh) 任务发送方法和装置
CN110895591B (zh) 一种定位自提点的方法和装置
Jia et al. Development model of enterprise green marketing based on cloud computing
CN110347731A (zh) 获取数据的方法和系统
CN110109919A (zh) 确定逻辑信息的方法和装置
CN113760969A (zh) 一种基于ElasticSearch的数据查询方法和装置
CN113760240A (zh) 一种生成数据模型的方法和装置
Li et al. FASTDB: An array database system for efficient storing and analyzing massive scientific data
WANG et al. MPI big data processing for high performance applications
CN115563183A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181211

RJ01 Rejection of invention patent application after publication