CN109902114B - Es集群数据复用方法、系统、计算机装置及存储介质 - Google Patents
Es集群数据复用方法、系统、计算机装置及存储介质 Download PDFInfo
- Publication number
- CN109902114B CN109902114B CN201910069781.2A CN201910069781A CN109902114B CN 109902114 B CN109902114 B CN 109902114B CN 201910069781 A CN201910069781 A CN 201910069781A CN 109902114 B CN109902114 B CN 109902114B
- Authority
- CN
- China
- Prior art keywords
- data
- cluster
- target data
- file system
- distributed file
- 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 36
- 230000003993 interaction Effects 0.000 claims abstract description 44
- 230000002452 interceptive effect Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 22
- 238000007781 pre-processing Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 238000013500 data storage Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 101100018928 Drosophila melanogaster InR gene Proteins 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种ES集群数据复用方法、系统、计算机装置及计算机可读存储介质。所述ES集群数据复用方法包括:接收并根据数据选定指令选定待复用的目标数据;获取所述目标数据在所述分布式文件系统的存储地址;创建Hive外部表,并将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址;创建Hive与ES集群的数据对应的视图表;接收ES集群的数据交互请求,并利用所述Hive外部表及所述视图表将所述交互数据从所述分布式文件系统同步至所述ES集群。本发明涉及云存储技术,通过建立ES集群与HDFS的数据传输通道,实现ES集群与HDFS之间数据共享,避免数据重复存储。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种ES集群数据复用方法、系统、计算机装置及计算机可读存储介质。
背景技术
目前企业的日志系统大多数都是基于ELK(Elasticsearch、Logstash及Kibana的简称)开发的。当ELK日志系统需要与Hadoop平台相结合进行数据处理、分析时,由于ES集群不具备支持HDFS特性,使得数据不能同时在ES集群及Hadoop平台上使用,导致数据需同时在ELK系统及Hadoop平台存储,数据重复存储,使得存储空间大量浪费。
发明内容
鉴于上述,本发明提供一种ES集群数据复用方法、系统、计算机装置及计算机可读存储介质,其可实现数据在ELK系统及Hadoop平台复用,无需重复存储。
本申请一实施方式提供一种ES集群数据复用方法,所述方法包括:
接收一数据选定指令,并根据所述数据选定指令在分布式文件系统中选定待复用的目标数据;
获取所述目标数据在所述分布式文件系统的存储地址;
创建Hive外部表,并将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址;
创建Hive与ES集群的数据对应的视图表,并在所述视图表中指定所述ES集群的服务节点;
接收所述ES集群的数据交互请求,并查询所述数据交互请求涉及的交互数据;及
利用所述Hive外部表及所述视图表将所述交互数据从所述分布式文件系统同步至所述ES集群,其中所述交互数据为所述目标数据的部分数据或全部数据。
优选地,所述获取所述目标数据在所述分布式文件系统的存储地址的步骤之前还包括:
对所述目标数据进行预处理,以使得所述目标数据符合预设规则。
优选地,所述对所述目标数据进行预处理的步骤包括:
对所述目标数据进行逐行读取,并判断每行数据是否符合所述预设规则;
当判断出具有不符合所述预设规则的行数据时,输出数据编辑提示信息;及
接收对所述不符合预设规则的行数据的编辑处理,重复判断步骤,直到所述每行数据符合所述预设规则。
优选地,所述获取所述目标数据在所述分布式文件系统的存储地址的步骤包括:
获取用于存储所述目标数据的数据块的索引信息;及
根据所述索引信息获取所述目标数据在所述分布式文件系统的存储地址。
优选地,所述将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址的步骤包括:
获取所述目标数据中包含的分隔符,并将所述目标数据中的分隔符作为所述Hive外部表中字段的分隔符;
将所述目标数据的一行数据对应至所述Hive外部表的一条记录;及
将所述Hive外部表的地址指向所述目标数据在所述分布式文件系统的存储地址。
优选地,所述在所述视图表中指定所述ES集群的服务节点的步骤包括:
在所述视图表中指定所述ES集群的服务节点的地址、端口名称、索引信息及文档信息。
优选地,所述查询所述数据交互请求涉及的交互数据的步骤包括:
将查询所述数据交互请求涉及的交互数据的进程转换为MapReduce任务;及
在所述分布式文件系统中执行所述MapReduce任务,以查询得到所述数据交互请求涉及的交互数据。
本申请一实施方式提供一种ES集群数据复用系统,所述系统包括:
选定模块,用于接收一数据选定指令,并根据所述数据选定指令在分布式文件系统中选定待复用的目标数据;
获取模块,用于获取所述目标数据在所述分布式文件系统的存储地址;
第一创建模块,用于创建Hive外部表,并将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址;
第二创建模块,用于创建Hive与ES集群的数据对应的视图表,并在所述视图表中指定所述ES集群的服务节点;
查询模块,用于接收所述ES集群的数据交互请求,并查询所述数据交互请求涉及的交互数据;及
同步模块,利用所述Hive外部表及所述视图表将所述交互数据从所述分布式文件系统同步至所述ES集群,其中所述交互数据为所述目标数据的部分数据或全部数据。
本申请一实施方式提供一种计算机装置,所述计算机装置包括处理器及存储器,所述存储器上存储有若干计算机程序,所述处理器用于执行存储器中存储的计算机程序时实现如前面所述的ES集群数据复用方法的步骤。
本申请一实施方式提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前面所述的ES集群数据复用方法的步骤。
上述ES集群数据复用方法、系统、计算机装置及计算机可读存储介质,通过在ES集群与HDFS之间建立Hive外部表及视图表,使得ES集群与HDFS之间具有数据传输通道,实现ES集群与HDFS之间数据导入导出操作,ELK系统与Hadoop平台数据兼容,节省数据存储空间。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中ES集群数据复用方法的步骤流程图。
图2为本发明一实施例中ES集群数据复用系统的功能模块图。
图3为本发明一实施例中计算机装置示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。
优选地,本发明的ES集群数据复用方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机装置可以是桌上型计算机、笔记本电脑、平板电脑、服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例一:
图1是本发明ES集群数据复用方法较佳实施例的步骤流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
参阅图1所示,所述ES集群数据复用方法具体包括以下步骤。
步骤S11、接收一数据选定指令,并根据所述数据选定指令在分布式文件系统(HDFS)中选定待复用的目标数据。
在一实施方式中,所述待复用的目标数据优选是指期望能同时在ELK日志系统和Hadoop平台使用的数据,当接收到数据选定指令时,可以在HDFS中执行该数据选定指令,进而实现选定所述目标数据。所述ELK日志系统中包括有ES集群,Logstash框架及Kibana框架。所述Logstash框架可分布于ES集群的各个节点上,用于搜集相关日志数据,并经过分析、过滤后发送给ES集群进行存储,再由Kibana框架将日志数据呈现给用户,比如提供多种API供用户查询、操作。
所述HDFS用于存储和管理文件。HDFS中的文件在物理上是分块存储(block),block的大小可以通过配置参数(dfs.blocksize)来规定,默认大小为128M。HDFS文件系统可提供一个统一的抽象目录树,客户端可以通过指定路径来访问文件,例如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。目录结构及文件分块位置信息(元数据)的管理由name-node节点承担,name-node是HDFS集群主节点,负责维护整个hdfs文件系统的目录树,以及每一个路径(文件)所对应的数据块信息(块标识及所在的data-node服务器)。文件的各个block的存储管理由data-node节点承担,data-node是HDFS集群从节点,每一个block都可以在多个data-node上存储多个副本(副本数量也可以通过参数设置dfs.replication,默认是3)。Data-node会定期向Name-node汇报自身所保存的文件block信息,而name-node则会负责保持文件的副本数量,当请求访问HDFS时可通过向name-node申请来进行。
在一实施方式中,由于所述目标数据可能具有不同的来源地、不同的数据格式、或不同排版样式,当选定好目标数据后,优选还对所述目标数据进行预处理,以使得所述目标数据符合预设规则。所述对所述目标数据进行预处理可以是将目标数据转换成指定数据格式的数据。所述对所述目标数据进行预处理还可以具体包括以下步骤:对所述目标数据进行逐行读取,并判断每行数据是否符合所述预设规则;当判断出具有不符合所述预设规则的行数据时,输出数据编辑提示信息;接收对所述不符合预设规则的行数据的编辑处理,重复判断步骤,直到所述每行数据符合所述预设规则。所述预设规则可以根据实际使用需求进行制定,例如是数据格式要求、每行数据遵循的规则(每行包含几列,每列是数字还是文本等)。
步骤S12、获取所述目标数据在所述分布式文件系统的存储地址。
在一实施方式中,所述目标数据在被存储至所述HDFS过程中,HDFS集群的名字服务器节点(Namenode)会为所述目标数据分配数据存储节点的一数据块(数据存储节点可以被分成N个数据块,每个数据块的存储空间为一预设值),所述数据块可以用来存储所述目标数据,HDFS同时会为存储有所述目标数据的数据块建立一索引。
在一实施方式中,由于每一数据块的存储空间是有限的,当目标数据的数据量较大时,优选将所述目标数据封装成多个数据包,HDFS集群的名字服务器节点为每一数据包分配数据存储节点的一数据块,同时为存储有每一数据包的数据块建立一索引。
获取所述目标数据在所述分布式文件系统的存储地址的具体方式可以是:获取用于存储所述目标数据的数据块的索引信息,再根据所述索引信息获取所述目标数据在所述分布式文件系统的存储地址。
步骤S13、创建Hive外部表,并将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址。
在一实施方式中,在创建表的时候可以通过指定external关键字实现创建Hive外部表,并将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址,所述存储地址可以是指HDFS中用于存储所述目标数据的存储目录。
在一实施方式中,可以通过以下方式将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址:获取所述目标数据中包含的分隔符,并将所述目标数据中的分隔符作为所述Hive外部表中字段的分隔符;将所述目标数据的一行数据对应至所述Hive外部表的一条记录;及将所述Hive外部表的地址指向所述目标数据在所述分布式文件系统的存储地址。
步骤S14、创建Hive与ES集群的数据对应的视图表,并在所述视图表中指定所述ES集群的服务节点。
在一实施方式中,Hive加载一预设驱动程序来实现创建与ES集群的数据对应的视图表,并在该视图表中指定ES集群的服务节点地址、端口名称及对应的索引信息、文档信息,进而实现建立Hive与ES集群之间数据传输通道。
在一实施方式中,所述视图表还可以指定Hive中的主键字段映射到ES集群中_id,所述主键字段优选是指能唯一地标识表中的每一行的字段。_id是一个字符串,当它与_index(文档存储的地方)以及_type(文档代表的对象种类)组合时,可以代表ES集群中一个特定的文档,即ES集群中的文档可以通过_id唯一确定,不同的文档具有唯一的_id。
当完成Hive外部表与视图表的创建后,即可以实现建立所述HDFS与所述ES集群的数据同步通道。
步骤S15、接收所述ES集群的数据交互请求,并查询所述数据交互请求涉及的交互数据。
在一实施方式中,当接收到ES集群的数据交互请求时,可以利用Hive SQL语句来查询所述数据交互请求涉及的交互数据。
在一实施方式中,还可以将Hive SQL语句转换为MapReduce任务,进而可在所述分布式文件系统中执行所述MapReduce任务,以执行Hive SQL所需的查询操作。具体地:利用Antlr语言识别工具定义Hive SQL的语法规则,对Hive SQL语法进行解析,实现将Hive SQL转化为抽象语法树AST Tree;由于AST Tree仍然较复杂,不够结构化,不方便直接翻译为MapReduce任务程序,需要将AST Tree转化为QueryBlock进行进一步抽象化和格式化;遍历QueryBlock(QueryBlock是一条SQL最基本的组成单元,包括三个部分:输入源,计算过程,输出,一个QueryBlock即为一个子查询),翻译为执行操作树OperatorTree并对操作树OperatorTree进行变换,合并不必要的ReduceSinkOperator,减少shuffle数据量;遍历操作树OperatorTree,翻译为MapReduce任务,生成最终的执行计划,以执行Hive SQL所需的查询操作。
步骤S16,利用所述Hive外部表及所述视图表将所述交互数据从所述分布式文件系统同步至所述ES集群,其中所述交互数据为所述目标数据的部分数据或全部数据。
在一实施方式中,所述交互数据为所述目标数据的部分数据或全部数据,其具体数据量由所述数据交互请求决定。当确定了所述数据交互请求涉及的交互数据后,即可利用所述Hive外部表及所述视图表将所述交互数据从所述分布式文件系统同步至所述ES集群。
上述明ES集群数据复用方法,通过在ES集群与HDFS之间建立Hive外部表及视图表,使得ES集群与HDFS之间具有数据传输通道,实现ES集群与HDFS之间数据导入导出操作,ELK系统与Hadoop平台数据兼容,节省数据存储空间。
实施例二:
图2为本发明ES集群数据复用系统较佳实施例的功能模块图。
参阅图2所示,所述ES集群数据复用系统10可以包括选定模块101、获取模块102、第一创建模块103、第二创建模块104、查询模块105及同步模块106。
所述选定模块101用于接收一数据选定指令,并根据所述数据选定指令在分布式文件系统中选定待复用的目标数据。
在一实施方式中,所述待复用的目标数据优选是指期望能同时在ELK日志系统和Hadoop平台使用的数据,当所述选定模块101接收到数据选定指令时,可以在HDFS中执行该数据选定指令,进而实现选定所述目标数据。所述ELK日志系统中包括有ES集群,Logstash框架及Kibana框架。所述Logstash框架可分布于ES集群的各个节点上,用于搜集相关日志数据,并经过分析、过滤后发送给ES集群进行存储,再由Kibana框架将日志数据呈现给用户,比如提供多种API供用户查询、操作。
所述HDFS用于存储和管理文件。HDFS中的文件在物理上是分块存储(block),block的大小可以通过配置参数(dfs.blocksize)来规定,默认大小为128M。HDFS文件系统可提供一个统一的抽象目录树,客户端可以通过指定路径来访问文件,例如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。目录结构及文件分块位置信息(元数据)的管理由name-node节点承担,name-node是HDFS集群主节点,负责维护整个hdfs文件系统的目录树,以及每一个路径(文件)所对应的数据块信息(块标识及所在的data-node服务器)。文件的各个block的存储管理由data-node节点承担,data-node是HDFS集群从节点,每一个block都可以在多个data-node上存储多个副本(副本数量也可以通过参数设置dfs.replication,默认是3)。Data-node会定期向Name-node汇报自身所保存的文件block信息,而name-node则会负责保持文件的副本数量,当请求访问HDFS时可通过向name-node申请来进行。
在一实施方式中,由于所述目标数据可能具有不同的来源地、不同的数据格式、或不同排版样式,当选定好目标数据后,优选还对所述目标数据进行预处理,以使得所述目标数据符合预设规则。所述对所述目标数据进行预处理可以是将目标数据转换成指定数据格式的数据。所述对所述目标数据进行预处理还可以具体包括以下步骤:对所述目标数据进行逐行读取,并判断每行数据是否符合所述预设规则;当判断出具有不符合所述预设规则的行数据时,输出数据编辑提示信息;接收对所述不符合预设规则的行数据的编辑处理,重复判断步骤,直到所述每行数据符合所述预设规则。所述预设规则可以根据实际使用需求进行制定,例如是数据格式要求、每行数据遵循的规则(每行包含几列,每列是数字还是文本等)。
所述获取模块102用于获取所述目标数据在所述分布式文件系统的存储地址。
在一实施方式中,所述目标数据在被存储至所述HDFS过程中,HDFS集群的名字服务器节点(Namenode)会为所述目标数据分配数据存储节点的一数据块(数据存储节点可以被分成N个数据块,每个数据块的存储空间为一预设值),所述数据块可以用来存储所述目标数据,HDFS同时会为存储有所述目标数据的数据块建立一索引。
在一实施方式中,由于每一数据块的存储空间是有限的,当目标数据的数据量较大时,优选将所述目标数据封装成多个数据包,HDFS集群的名字服务器节点为每一数据包分配数据存储节点的一数据块,同时为存储有每一数据包的数据块建立一索引。
所述获取模块102获取所述目标数据在所述分布式文件系统的存储地址的具体方式可以是:获取用于存储所述目标数据的数据块的索引信息,再根据所述索引信息获取所述目标数据在所述分布式文件系统的存储地址。
所述第一创建模块103用于创建Hive外部表,并将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址。
在一实施方式中,所述第一创建模块103在创建表的时候可以通过指定external关键字实现创建Hive外部表,并将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址,所述存储地址可以是指HDFS中用于存储所述目标数据的存储目录。
在一实施方式中,所述第一创建模块103可以通过以下方式将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址:获取所述目标数据中包含的分隔符,并将所述目标数据中的分隔符作为所述Hive外部表中字段的分隔符;将所述目标数据的一行数据对应至所述Hive外部表的一条记录;及将所述Hive外部表的地址指向所述目标数据在所述分布式文件系统的存储地址。
所述第二创建模块104用于创建Hive与ES集群的数据对应的视图表,并在所述视图表中指定所述ES集群的服务节点。
在一实施方式中,所述第二创建模块104可以通过控制Hive加载一预设驱动程序来实现创建与ES集群的数据对应的视图表,并在该视图表中指定ES集群的服务节点地址、端口名称及对应的索引信息、文档信息,进而实现建立Hive与ES集群之间数据传输通道。
在一实施方式中,所述视图表还可以指定Hive中的主键字段映射到ES集群中_id,所述主键字段优选是指能唯一地标识表中的每一行的字段。_id是一个字符串,当它与_index(文档存储的地方)以及_type(文档代表的对象种类)组合时,可以代表ES集群中一个特定的文档,即ES集群中的文档可以通过_id唯一确定,不同的文档具有唯一的_id。
当完成Hive外部表与视图表的创建后,即可以实现建立所述HDFS与所述ES集群的数据同步通道。
所述查询模块105用于接收ES集群的数据交互请求,并查询所述数据交互请求涉及的交互数据。
在一实施方式中,当接收到ES集群的数据交互请求时,所述查询模块105可以利用Hive SQL语句来查询所述数据交互请求涉及的交互数据。
在一实施方式中,所述查询模块105还可以将Hive SQL语句转换为MapReduce任务,进而可在所述分布式文件系统中执行所述MapReduce任务,以执行Hive SQL所需的查询操作。具体地:利用Antlr语言识别工具定义Hive SQL的语法规则,对Hive SQL语法进行解析,实现将Hive SQL转化为抽象语法树AST Tree;由于AST Tree仍然较复杂,不够结构化,不方便直接翻译为MapReduce任务程序,需要将AST Tree转化为QueryBlock进行进一步抽象化和格式化;遍历QueryBlock(QueryBlock是一条SQL最基本的组成单元,包括三个部分:输入源,计算过程,输出,一个QueryBlock即为一个子查询),翻译为执行操作树OperatorTree并对操作树OperatorTree进行变换,合并不必要的ReduceSinkOperator,减少shuffle数据量;遍历操作树OperatorTree,翻译为MapReduce任务,生成最终的执行计划,以执行Hive SQL所需的查询操作。
所述同步模块106用于利用所述Hive外部表及所述视图表将所述交互数据从所述分布式文件系统同步至所述ES集群,其中所述交互数据为所述目标数据的部分数据或全部数据。
在一实施方式中,所述交互数据为所述目标数据的部分数据或全部数据,其具体数据量由所述数据交互请求决定。当确定了所述数据交互请求涉及的交互数据后,所述同步模块106即可利用所述Hive外部表及所述视图表将所述交互数据从所述分布式文件系统同步至所述ES集群。
上述明ES集群数据复用系统,通过在ES集群与HDFS之间建立Hive外部表及视图表,使得ES集群与HDFS之间具有数据传输通道,实现ES集群与HDFS之间数据导入导出操作,ELK系统与Hadoop平台数据兼容,节省数据存储空间。
图3为本发明计算机装置较佳实施例的示意图。
所述计算机装置1包括存储器20、处理器30以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40,例如ES集群数据复用程序。所述处理器30执行所述计算机程序40时实现上述ES集群数据复用方法实施例中的步骤,例如图1所示的步骤S11~S16。或者,所述处理器30执行所述计算机程序40时实现上述ES集群数据复用系统实施例中各模块的功能,例如图2中的模块101~106。
示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序40在所述计算机装置1中的执行过程。例如,所述计算机程序40可以被分割成图2中的选定模块101、获取模块102、第一创建模块103、第二创建模块104、查询模块105及同步模块106。各模块具体功能参见实施例二。
所述计算机装置1可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图仅仅是计算机装置1的示例,并不构成对计算机装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置1还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器30也可以是任何常规的处理器等,所述处理器30是所述计算机装置1的控制中心,利用各种接口和线路连接整个计算机装置1的各个部分。
所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置1的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述计算机装置1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的计算机装置和方法,可以通过其它的方式实现。例如,以上所描述的计算机装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。计算机装置权利要求中陈述的多个单元或计算机装置也可以由同一个单元或计算机装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (9)
1.一种ES集群数据复用方法,其特征在于,所述方法包括:
接收一数据选定指令,并根据所述数据选定指令在分布式文件系统中选定待复用的目标数据;
获取所述目标数据在所述分布式文件系统的存储地址;
创建Hive外部表,并将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址;
创建Hive与ES集群的数据对应的视图表,并在所述视图表中指定所述ES集群的服务节点;
接收所述ES集群的数据交互请求,并查询所述数据交互请求涉及的交互数据;及
利用所述Hive外部表及所述视图表将所述交互数据从所述分布式文件系统同步至所述ES集群,其中所述交互数据为所述目标数据的部分数据或全部数据;
所述查询所述数据交互请求涉及的交互数据的步骤包括:
将查询所述数据交互请求涉及的交互数据的进程转换为MapReduce任务;及
在所述分布式文件系统中执行所述MapReduce任务,以查询得到所述数据交互请求涉及的交互数据。
2.如权利要求1所述的ES集群数据复用方法,其特征在于,所述获取所述目标数据在所述分布式文件系统的存储地址的步骤之前还包括:
对所述目标数据进行预处理,以使得所述目标数据符合预设规则。
3.如权利要求2所述的ES集群数据复用方法,其特征在于,所述对所述目标数据进行预处理的步骤包括:
对所述目标数据进行逐行读取,并判断每行数据是否符合所述预设规则;
当判断出具有不符合所述预设规则的行数据时,输出数据编辑提示信息;及
接收对所述不符合预设规则的行数据的编辑处理,重复判断步骤,直到所述每行数据符合所述预设规则。
4.如权利要求1-3任意一项所述的ES集群数据复用方法,其特征在于,所述获取所述目标数据在所述分布式文件系统的存储地址的步骤包括:
获取用于存储所述目标数据的数据块的索引信息;及
根据所述索引信息获取所述目标数据在所述分布式文件系统的存储地址。
5.如权利要求1所述的ES集群数据复用方法,其特征在于,所述将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址的步骤包括:
获取所述目标数据中包含的分隔符,并将所述目标数据中的分隔符作为所述Hive外部表中字段的分隔符;
将所述目标数据的一行数据对应至所述Hive外部表的一条记录;及
将所述Hive外部表的地址指向所述目标数据在所述分布式文件系统的存储地址。
6.如权利要求1-3任意一项所述的ES集群数据复用方法,其特征在于,所述在所述视图表中指定所述ES集群的服务节点的步骤包括:
在所述视图表中指定所述ES集群的服务节点的地址、端口名称、索引信息及文档信息。
7.一种ES集群数据复用系统,其特征在于,所述系统包括:
选定模块,用于接收一数据选定指令,并根据所述数据选定指令在分布式文件系统中选定待复用的目标数据;
获取模块,用于获取所述目标数据在所述分布式文件系统的存储地址;
第一创建模块,用于创建Hive外部表,并将所述Hive外部表指向所述目标数据在所述分布式文件系统的存储地址;
第二创建模块,用于创建Hive与ES集群的数据对应的视图表,并在所述视图表中指定所述ES集群的服务节点;
查询模块,用于接收所述ES集群的数据交互请求,并查询所述数据交互请求涉及的交互数据;及
同步模块,利用所述Hive外部表及所述视图表将所述交互数据从所述分布式文件系统同步至所述ES集群,其中所述交互数据为所述目标数据的部分数据或全部数据;
其中,所述查询所述数据交互请求涉及的交互数据的步骤包括:
将查询所述数据交互请求涉及的交互数据的进程转换为MapReduce任务;及
在所述分布式文件系统中执行所述MapReduce任务,以查询得到所述数据交互请求涉及的交互数据。
8.一种计算机装置,所述计算机装置包括处理器及存储器,所述存储器上存储有若干计算机程序,其特征在于,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-6中任意一项所述的ES集群数据复用方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任意一项所述的ES集群数据复用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910069781.2A CN109902114B (zh) | 2019-01-24 | 2019-01-24 | Es集群数据复用方法、系统、计算机装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910069781.2A CN109902114B (zh) | 2019-01-24 | 2019-01-24 | Es集群数据复用方法、系统、计算机装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109902114A CN109902114A (zh) | 2019-06-18 |
CN109902114B true CN109902114B (zh) | 2024-04-23 |
Family
ID=66944203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910069781.2A Active CN109902114B (zh) | 2019-01-24 | 2019-01-24 | Es集群数据复用方法、系统、计算机装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109902114B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112632114B (zh) * | 2019-10-08 | 2024-03-19 | 中国移动通信集团辽宁有限公司 | Mpp数据库快速读取数据的方法、装置及计算设备 |
CN111506646B (zh) * | 2020-03-16 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置、系统、存储介质及处理器 |
CN111444043A (zh) * | 2020-03-27 | 2020-07-24 | 中移雄安信息通信科技有限公司 | 数据备份方法、装置、节点、系统及介质 |
CN113656469B (zh) * | 2020-05-12 | 2024-01-05 | 北京市天元网络技术股份有限公司 | 大数据处理方法及装置 |
CN111651424B (zh) * | 2020-06-10 | 2024-05-03 | 中国科学院深圳先进技术研究院 | 一种数据处理方法、装置、数据节点及存储介质 |
CN113064704A (zh) * | 2021-03-18 | 2021-07-02 | 北京沃东天骏信息技术有限公司 | 任务处理方法、装置、电子设备和计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9639544B1 (en) * | 2013-10-28 | 2017-05-02 | Pivotal Software, Inc. | Table data persistence |
CN107463692A (zh) * | 2017-08-11 | 2017-12-12 | 山东合天智汇信息技术有限公司 | 超大文本数据同步到搜索引擎的方法和系统 |
CN109033123A (zh) * | 2018-05-31 | 2018-12-18 | 康键信息技术(深圳)有限公司 | 基于大数据的查询方法、装置、计算机设备和存储介质 |
-
2019
- 2019-01-24 CN CN201910069781.2A patent/CN109902114B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9639544B1 (en) * | 2013-10-28 | 2017-05-02 | Pivotal Software, Inc. | Table data persistence |
CN107463692A (zh) * | 2017-08-11 | 2017-12-12 | 山东合天智汇信息技术有限公司 | 超大文本数据同步到搜索引擎的方法和系统 |
CN109033123A (zh) * | 2018-05-31 | 2018-12-18 | 康键信息技术(深圳)有限公司 | 基于大数据的查询方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109902114A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902114B (zh) | Es集群数据复用方法、系统、计算机装置及存储介质 | |
CN110032604B (zh) | 数据存储装置、转译装置及数据库访问方法 | |
US11068439B2 (en) | Unsupervised method for enriching RDF data sources from denormalized data | |
CN109495392B (zh) | 报文转换处理方法及装置、电子设备、存储介质 | |
CN111400387B (zh) | 导入导出数据的转换方法、装置、终端设备及存储介质 | |
CN111914520A (zh) | 文档协同编辑方法、装置、计算机装置及存储介质 | |
CN111782682B (zh) | 数据查询方法、装置、设备及存储介质 | |
US8880463B2 (en) | Standardized framework for reporting archived legacy system data | |
CN103246749A (zh) | 面向分布式计算的矩阵数据库系统及其查询方法 | |
CN103927331A (zh) | 数据查询方法、装置及系统 | |
CN111818175B (zh) | 企业服务总线配置文件生成方法、装置、设备和存储介质 | |
CN111858760B (zh) | 一种异构数据库的数据处理方法及装置 | |
CN113177090A (zh) | 数据处理方法及装置 | |
CN108363741B (zh) | 大数据统一接口方法、装置、设备及存储介质 | |
CN112364052A (zh) | 异构数据管理方法、装置、设备和计算机可读存储介质 | |
CN109299225B (zh) | 日志检索方法、系统、终端及计算机可读存储介质 | |
CN111562953A (zh) | 接口调用方法、装置、计算机装置及可读存储介质 | |
CN113326305A (zh) | 一种处理数据的方法和装置 | |
CN107463618B (zh) | 一种索引创建方法和装置 | |
CN113590651B (zh) | 一种基于hql的跨集群数据处理系统及方法 | |
US10628416B2 (en) | Enhanced database query processing | |
US10324906B2 (en) | Intelligent XML file fragmentation | |
US11354312B2 (en) | Access-plan-based querying for federated database-management systems | |
CN110569243B (zh) | 一种数据查询方法、数据查询插件和数据查询服务器 | |
CN114265966A (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 |