CN112256737B - 一种hive规则匹配数据的方法、设备及存储介质 - Google Patents
一种hive规则匹配数据的方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112256737B CN112256737B CN202011192319.0A CN202011192319A CN112256737B CN 112256737 B CN112256737 B CN 112256737B CN 202011192319 A CN202011192319 A CN 202011192319A CN 112256737 B CN112256737 B CN 112256737B
- Authority
- CN
- China
- Prior art keywords
- matching
- rule
- data
- rules
- matching data
- 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 62
- 230000009467 reduction Effects 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 description 26
- 230000008569 process Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 238000013475 authorization Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000005291 magnetic effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种HIVE规则匹配数据的方法、设备及存储介质,其中,方法包括:获取HIVE的第一规则匹配表和HIVE的第一匹配数据;其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据;在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表;按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加第二匹配数据到第二规则匹配表中;基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果。
Description
技术领域
本申请实施例涉及金融科技(Fintech)的数据处理技术领域,涉及但不限于一种HIVE规则匹配数据的方法、设备及存储介质。
背景技术
随着计算机计算的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。金融科技领域下,随着银行金融体系的不断丰富和完善,以及金融系统中的数据量急速增长,HIVE已成为各企业构建海量数据仓库的重要工具。
目前,大数据规则匹配方案主要是通过引入第三方的规则引擎,以及HIVE的自定义UDF函数来做规则匹配,本质上匹配的主要逻辑是在开发人员创建的自定义函数(UserDefined Function,UDF)相关jar包内部实现的。可见,相关技术中进行数据匹配时,至少存在操作复杂的问题。
发明内容
本申请实施例提供一种HIVE规则匹配数据的方法、设备及存储介质,以解决相关技术中进行数据匹配时,至少存在操作复杂的问题。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种方法,包括:获取HIVE的第一规则匹配表和HIVE的第一匹配数据;其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据;
在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表;
按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加第二匹配数据到第二规则匹配表中;
基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果。
本申请实施例提供一种设备,包括:
存储器,用于存储可执行指令;处理器,用于执行存储器中存储的可执行指令时,实现上述的方法。
本申请实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。
本申请实施例具有以下有益效果:
通过获取HIVE的第一规则匹配表和HIVE的第一匹配数据;其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据;在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表;按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加第二匹配数据到第二规则匹配表中;基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果;也就是说,本申请从匹配规则出发去看数据,先构建用于后续匹配的第二规则匹配表,第二规则匹配表是在第一规则匹配表中补齐业务主键和第一匹配数据所得到的匹配表;进一步地,按照降维匹配的策略,确定第二规则匹配表中满足不同匹配规则时所匹配的数据即第二匹配数据,并添加到第二规则匹配表中,最后直接在第二规则匹配表中基于第一匹配数据和第二匹配数据快速且准确地定位出规则匹配数据所得到的匹配结果,该方法通用性强,易于理解和实现,避免加入过多的内容,操作简单;同时构建的第二规则匹配表具有稳定、可靠,可读性强的特点。
附图说明
图1是相关技术中提供的一种数据匹配规则的方法的流程示意图;
图2是本申请实施例提供的终端的一个可选的架构示意图;
图3是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图;
图4是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图;
图5是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图;
图6是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图;
图7是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图;
图8是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图;
图9是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
1)HIVE是基于Hadoop的一个数据仓库工具,用于数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制,HIVE数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。
2)HIVE结构化查询语言(HIVE Structured Query Language,HIVE SQL)可以将SQL语句转变成MapReduce任务来执行,通过自身的SQL去查询分析存储在Hadoop分布式文件系统中的数据。Hive中通过类似SQL语句实现快速MapReduce统计,使不熟悉MapReduce的用户很方便的利用SQL语言查询、汇总、分析数据。
3)用户自定义函数(User Defined Function,UDF),是用户定义的hive函数,UDF函数的执行过程就是在Hive转换成MapReduce程序后,执行Java方法,该过程类似于像MapReduce执行过程中加入一个插件,方便扩展。
4)JAR文件(Java Archive,Java归档)是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库,其中,JAR文件以ZIP格式构建,以.jar为文件扩展名。用户可以使用JDK自带的jar命令创建或提取JAR文件。
为了更好地理解本申请实施例中提供的HIVE规则匹配数据的方法,首先对相关技术中的数据匹配规则的方法进行说明:
随着银行金融体系的不断丰富和完善,以及金融系统中的数据量急速增长,HIVE已成为各企业构建海量数据仓库的重要工具,尤其是在HIVE中为海量数据的处理设计了各种匹配规则,以对大数据进行筛选处理。相关技术中,如图1所示,数据与规则匹配的方案中,获取到HIVE数据加工表后,HIVE SQL调用中通过自定义UDF函数设计的规则文件,同时加载UDF函数相关的jar包,获得HIVE数据加工表中数据对应的匹配规则,用数据中的各个字段去和规则表中的不同的规则进行匹配,即数据中的每一字段的匹配条件通过“或”的关系组合起来进行一次性匹配,进而确认该条数据的匹配结果。在上述方案的实现过程中,其本质是从需要匹配的数据出发,用数据的视角去匹配规则。使用上述方案实现数据与规则匹配至少存在如下问题:首先,开发人员在设计过程中,需要掌握UDF函数的编写模式,由于开发人员开发功底不一致,无法保证编写的UDF函数质量;其次,在执行UDF函数前,终端需要发布与UDF函数相关的jar包,并在HIVE中加载相关的jar包,若相关的jar依赖于其他的配置文件,也应该加载;再次,数据所要匹配的规则条件需要预先存储在匹配条件集合中,该匹配规则无法更改,数据与匹配条件无法进行动态匹配,匹配规则的通用性较差;最后,设计在UDF内部的匹配规则的代码逻辑不易查看和修改,若匹配规则的代码逻辑存在问题时影响整个HIVE集群的资源使用。可见,相关技术中进行数据匹配时,至少存在操作复杂的问题。
下面说明本申请实施例提供的HIVE规则匹配数据的设备的示例性应用,本申请实施例提供的HIVE规则匹配数据的设备可以实施为笔记本电脑,平板电脑,台式计算机,智能机器人等任意具有屏幕显示功能的终端,也可以实施为服务器。下面,将说明HIVE规则匹配数据的设备实施为终端时的示例性应用。
参见图2,图2是本申请实施例提供的终端100的结构示意图,图2所示的终端100包括:至少一个处理器110、至少一个网络接口120、用户接口130和存储器150。终端100中的各个组件通过总线系统140耦合在一起。可理解,总线系统140用于实现这些组件之间的连接通信。总线系统140除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统140。
处理器110可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口130包括使得能够呈现媒体内容的一个或多个输出装置131,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口130还包括一个或多个输入装置132,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器150可以是可移除的,不可移除的或其组合。示例性地硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器150可选地包括在物理位置上远离处理器110的一个或多个存储设备。存储器150包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(Read Only Memory,ROM),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器150旨在包括任意适合类型的存储器。在一些实施例中,存储器150能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统151,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块152,用于经由一个或多个(有线或无线)网络接口120到达其他计算设备,示例性地网络接口120包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(Universal Serial Bus,USB)等;
输入处理模块153,用于对一个或多个来自一个或多个输入装置132之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器150中的一种HIVE规则匹配数据的装置154,该HIVE规则匹配数据的装置154可以是终端100中的HIVE规则匹配数据的装置,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块1541、处理模块1542,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的HIVE规则匹配数据的方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、DSP、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或其他电子元件。
下面将结合本申请实施例提供的终端100的示例性应用和实施,说明本申请实施例提供的HIVE规则匹配数据的方法。参见图3,图3是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图,将结合图3示出的步骤进行说明,
步骤S201,获取HIVE的第一规则匹配表和HIVE的第一匹配数据。
其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据。
本申请实施例中,HIVE作为一个数据仓库工具,用于存储、查询和分析存储在分布式系统基础架构中的大规模数据。
本申请实施例中,第一规则匹配表包括与业务主键关联的具有多个维度的匹配规则,第一规则匹配表用于分析来自于贴源层的与业务主键关联的业务的数据。第一匹配数据可以理解为与业务主键关联的业务在当前状态下已获取的业务关联数据,如用户上传的与业务关联的数据。
示例性的,终端获取的第一规则匹配表包括的匹配规则中的N个维度的规则K1、K2、K3、…、Kn,业务数据在满足第一规则匹配表中该业务对应的维度的匹配规则时,所得到的表征匹配数据为V,如表格1所示。以实际业务场景为例,如各类订单需要提交的各类影像文件,终端获取HIVE的第一规则匹配表TM_RULE_HIVE中包含三个维度的匹配规则,K1为商户、K2为产品、K3为订单状态,K1对应的值key1为X合作平台的商户、K2对应的值key2为Y产品、K3对应的值key3为产品当前已经成交。该订单应匹配的规则是与X合作平台商户合作的Y产品下的订单状态为已经成交的订单,必须上传身份证(v1)、授权合同PDF(v2)、代收协议合同PDF(v3),即(X合作平台商户,Y产品,已经成交)→value=v1:1,v2:1,v3:1。需要说明的是,value值可以使用“,”分隔符拼接多个匹配数据。
表字段 | K1 | K2 | K3 | … | Kn | V |
值 | key1 | key2 | key3 | … | keyn | value |
需要说明的是,业务数据在满足不同维度的匹配规则时所得到的匹配数据V不同,如下对此进行举例说明:
当K1=key1&&K2=key2&&…&&Kn=keyn时得到匹配数据value1,即(key1,key2,…,keyn)→value1
当K1=key1&&K2=key2&&…&&K(n-1)=key(n-1)时得到匹配数据value2,(key1,key2,…,key(n-1))→value2
……
当K1=key1时得到匹配数据valuen,(key1)→valuen
步骤S202,在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表。
本申请实施例中,第二规则匹配表可以理解为创建与第一规则匹配表具有相同表结构的匹配表,将业务数据中的业务主键以及与业务主键关联的业务在当前状态下已获得的第一匹配数据增加到与第一规则匹配表具有相同表结构所得到的表。构建第二规则匹配表的目的是为了保证业务数据按照第一规则匹配表中的匹配规则所关注的维度进行处理。
本申请实施例中,终端在获取HIVE的第一规则匹配表和HIVE的业务数据后,将业务数据中的业务主键以及与业务主键关联的业务在当前状态下已获得的第一匹配数据添加到第一规则匹配表,得到第二规则匹配表。
以实际业务场景为例,如各类订单需要提交的各类影像件,业务数据表为订单表,订单表至少包括订单号ORDER_NO和来自于贴源层的与订单号ORDER_NO关联的订单在当前状态下已获得的第一匹配数据V’。第一规则匹配表为与订单相关的规则匹配表,即订单规则匹配表TM_RULE_HIVE,终端在订单规则匹配表的基础上添加订单号字段ORDER_NO和订单号ORDER_NO关联的订单在当前状态下已获得的第一匹配数据V’,从而得到第二规则匹配表TMP_DATA_CHECK_RULES_HIVE,如表格2所示,需要说明的是,第二规则匹配表TMP_DATA_CHECK_RULES_HIVE表中的value值为空。
表字段 | ORDER_NO | K1 | K2 | K3 | … | Kn | V' | V |
值 | #0001 | key1 | key2 | key3 | … | Keyn | value’ | value |
步骤S203,按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加第二匹配数据到第二规则匹配表中。
其中,第二匹配数据可以理解为用户预先设置某一业务应满足匹配规则中的所有维度对应的规则时的数据;降维可以理解为将高维的匹配规则降到低维的匹配规则;需要说明的是,不同业务满足的匹配规则的维度不同。
本申请实施例中,终端获得第二规则匹配表中的匹配规则与第一规则匹配表中的匹配规则后,按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并将第二匹配数据添加到第二规则匹配表中。
以实际业务场景为例,如各类订单需要提交的各类影像文件,终端获取HIVE的第一规则匹配表如TM_RULE_HIVE中包含三个维度的匹配规则,K1为商户、K2为产品、K3为订单状态,K1对应的值key1为X合作平台的商户、K2对应的值key2为Y产品、K3对应的值key3为产品当前已经成交。该订单在与X合作平台商户合作的Y产品下的订单状态处于已经成交的订单状态下,应该上传身份证(v1)、授权合同PDF(v2)、代收协议合同PDF(v3),得到的第二匹配数据是value=v1:1,v2:1,v3:1;可以用如下匹配表达式(X合作平台商户,Y产品,已经成交)→value=v1:1,v2:1,v3:1。终端将得到的第二匹配数据value=v1:1,v2:1,v3:1添加到TMP_DATA_CHECK_RULES_HIVE表中。终端按照降维匹配的策略,获取HIVE的第一规则匹配表如TM_RULE_HIVE中包含两个维度的匹配规则,K1为商户、K2为产品,该产品在与X合作平台商户合作的情况下,应该上传身份证(v1)、授权合同PDF(v2)、得到的第二匹配数据是value=v1:1,v2:1;可以用如下匹配表达式(X合作平台商户,Y产品)→value=v1:1,v2:1。终端将得到的第二匹配数据value=v1:1,v2:1添加到TMP_DATA_CHECK_RULES_HIVE表中。
步骤S204,基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果。
其中,匹配结果包括第一匹配数据与第二匹配数据之间存在差异的数据。
本申请实施例中,终端将与业务主键关联的业务对应的第一匹配数据和满足匹配规则时得到的第二匹配数据进行比较,确定出规则匹配数据所得到的第一匹配数据与第二匹配数据之间的差异数据。
本申请其他实施例中,步骤S204基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果,还可通过如下方式实现:若第一匹配数据和第二匹配数据不同,基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定与业务主键关联的业务对应的第三匹配数据,并输出第三匹配数据。其中,第三匹配数据表征第一匹配数据与第二匹配数据之间的差异数据;匹配结果包括第三匹配数据。
本申请实施例中,第一匹配数据与第二匹配数据之间的差异数据可以理解为第一匹配数据与第二匹配数据中存在的不同的数据。
本申请其他实施例中,步骤S204基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果,还可通过如下方式实现:若第一匹配数据和第二匹配数据相同,确定第一匹配数据为满足匹配规则的数据,并输出第一匹配数据;其中,匹配结果包括第一匹配数据。
本申请提供的HIVE规则匹配数据的方法,通过获取HIVE的第一规则匹配表和HIVE的第一匹配数据;其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据;在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表;按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加第二匹配数据到第二规则匹配表中;基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果;也就是说,本申请从匹配规则出发去看数据,先构建用于后续匹配的第二规则匹配表,第二规则匹配表是在第一规则匹配表中补齐业务主键和第一匹配数据所得到的匹配表;进一步地,按照降维匹配的策略,确定第二规则匹配表中满足不同匹配规则时所匹配的数据即第二匹配数据,并添加到第二规则匹配表中,最后直接在第二规则匹配表中基于第一匹配数据和第二匹配数据快速且准确地定位出规则匹配数据所得到的匹配结果,该方法通用性强,易于理解和实现,避免加入过多的内容,操作简单;同时构建的第二规则匹配表具有稳定、可靠,可读性强的特点。
参见图4,图4是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图,将结合图4示出的步骤进行说明,
步骤S301,从结构化查询语言的数据库中抽取HIVE的第一规则匹配表和HIVE的第一匹配数据。
其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据。
本申请实施例中,步骤S301,从结构化查询语言的数据库中抽取HIVE的第一匹配数据,包括如下步骤:
第一步、从结构化查询语言的数据库中,获取同一业务主键关联的业务在不同时刻的多个第一子匹配数据。这里,从SQL的DB中抽取第一规则匹配表和第一匹配数据到HIVE中,即本申请所需的规则匹配表和匹配数据就维护在SQL的DB中,无需额外的发布。
第二步、对多个第一子匹配数据进行去重处理,得到业务主键关联的业务对应的第一匹配数据。
这里,同一业务主键对应多个第一子匹配数据的情况下,先对多个第一子匹配数据去重,以得到第一匹配数据,如此,简化后续在第二规则匹配表中添加标准匹配数据的操作,即避免对于同一业务主键对应的多行添加标准匹配数据;同时,确保规则匹配数据所得到的缺失数据的准确性。
步骤S302,在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表。
本申请实施例中,第二规则匹配表中至少存在两个业务主键关联的匹配规则的维度不同。
步骤S303,读取第一规则匹配表包括的匹配规则中的N个维度的规则。
其中,N为第一规则匹配表包括的匹配规则对应的维度的总数,且N为大于1的正整数。
步骤S304,读取第二规则匹配表包括的匹配规则中的N个维度的规则。
步骤S305,若第一规则匹配表包括的匹配规则中的N个维度中第n维度的规则与第二规则匹配表包括的匹配规则中的N个维度中第n维度的规则相同,确定满足匹配规则中的N个维度的规则时所匹配的数据为第二匹配数据。
其中,N为第一规则匹配表包括的匹配规则关联的维度的总数,n的取值为从1到N的所有正整数。
其中,第二匹配数据可以理解为用户预先设置某一业务应满足匹配规则中的N个维度对应的规则时的数据。需要说明的是,不同业务满足的匹配规则的维度不同。
本申请实施例中,如图5所示,步骤S305中的确定满足匹配规则中的N个维度的规则时所匹配的数据为第二匹配数据之后,还可以实现如下步骤,
步骤S3051,若N-M等于1,读取第一规则匹配表包括的匹配规则中的N-M个维度的规则。
步骤S3052,读取第二规则匹配表包括的匹配规则中的N-M个维度的规则。
步骤S3053,若第一规则匹配表包括的匹配规则中的N-M个维度的规则与第二规则匹配表包括的匹配规则中的N-M个维度的规则相同,确定满足匹配规则中的N-M个维度的规则时所匹配数据为第二匹配数据。
其中,第二匹配数据可以理解为用户预先设置某一业务应满足匹配规则中的N-M个维度对应的规则时的数据。需要说明的是,不同业务满足的匹配规则的维度不同。
步骤S306,若N-M大于1,确定满足匹配规则中的N-M个维度的规则时所匹配的数据为第二匹配数据。
其中,M的取值为从1到N-1的所有正整数。
本申请实施例中,如图6所示,步骤S306,若N-M大于1,确定满足匹配规则中的N-M个维度的规则时所匹配的数据为第二匹配数据,可以通过如下步骤实现,
步骤S3061,若N-M大于1,读取第一规则匹配表包括的匹配规则中的N-M个维度的规则。
其中,M的取值为从1到N-1的所有正整数。
步骤S3062,读取第二规则匹配表包括的匹配规则中的N-M个维度的规则。
步骤S3063,若第一规则匹配表包括的匹配规则中的N-M个维度中第n'维度的规则与第二规则匹配表包括的匹配规则中的N-M个维度中第n'维度的规则相同,确定满足匹配规则中的N-M个维度的规则时所匹配的数据为第二匹配数据。
其中,n'的取值为从1到N-M的所有正整数。
其中,第二匹配数据可以理解为用户预先设置某一业务应满足匹配规则中的N-M个维度对应的规则时的数据。需要说明的是,不同业务满足的匹配规则的维度不同。
可见,本申请实施例中,基于匹配规则的维度对第二规则匹配表对应的第二匹配数据做分批处理,提高处理效率。
步骤S307,添加第二匹配数据到第二规则匹配表中。
步骤S308,基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果。
本申请实施例中,通过如上步骤实现HIVE中的规则匹配数据的方案,该方案从匹配的规则出发,对规则匹配表中的匹配规则先进行全条件匹配,再进行部分条件匹配,即用精确匹配到范围匹配的方式逐步进行规则与数据之间的匹配,确保规则匹配数据所得到的缺失数据的准确性,同时提高了处理效率。
这里,结合图7对获取第二规则匹配表中所要添加的第二匹配数据的过程作出进一步地说明,
步骤S401,获取第一规则匹配表包括的匹配规则中的N个维度的规则(K1,K2,K3,…,Kn)。
其中,第一规则匹配表中的匹配规则K1,K2,K3,…,Kn存在数据,且不为空。
示例性的,第二规则匹配表TMP_DATA_CHECK_RULES_HIVE为表a,第二规则匹配表TM_RULE_HIVE为表b,判断表a中的数据、表b中的数据不为空的方式可通过如下方式实现,判断表a中的数据不为空:
SELECT*FROM TMP_DATA_CHECK_RULES_HIVE WHERE DS='$PARTITION_DATE'ANDK1<>”AND K1<>NULL AND K2<>”AND K2<>NULL AND K3<>”AND K3<>NULL)a
判断表b中的数据不为空:
SELECT K1,K2,K3,V FROM TM_RULE_HIVE WHERE DS='$PARTITION_DATE AND K1<>”AND K1<>NULL AND K2<>”AND K2<>NULL AND K3<>”AND K3<>NULL)b
步骤S402,将第一规则匹配表包括的匹配规则中的N个维度的规则K1,K2,K3,…,Kn与第二规则匹配表包括的匹配规则中的N个维度的规则中对应的字段K1,K2,K3,…,Kn的待匹配数据进行匹配,得到第四匹配数据。
示例性的,第二规则匹配表TMP_DATA_CHECK_RULES_HIVE为表a,第一规则匹配表TM_RULE_HIVE为表b,将表a中的匹配规则与表b中的匹配规则进行匹配可通过如下方式实现:a.K1=b.K1 AND a.K2=b.K2 AND a.K3=b.K3。
步骤S403,若第四匹配数据表征第二规则匹配表中对应的字段满足N个维度的匹配规则K1,K2,K3,…,Kn字段,确定第四匹配数据为上述第二匹配数据,继续执行步骤S404;若第四匹配数据表征第二规则匹配表中对应的字段不满足N个维度的匹配规则K1,K2,K3,…,Kn,确定第四匹配数据为待匹配数据,继续执行步骤S405。
步骤S404,将第二匹配数据添加到第二规则匹配表中。
步骤S405,判断第一规则匹配表中的匹配规则的维度N是否等于1,若N不等于1,则执行步骤S406;若N等于1,则结束执行。
步骤S406,将第二匹配数据从待匹配数据中去除并更新,得到更新后的待匹配数据,并设置N=N-1,并返回至步骤S401。
本申请实施例中,终端设置N=N-1,去掉第Kn个匹配规则,将第一匹配规则表中K1,K2,K3,…,Kn-1个匹配规则与更新后的待匹配数据表中的对应字段进行匹配,以便获得满足匹配规则的匹配结果。
在一个可实现场景中,以N=3为例,对于使用HIVE SQL对数据进行加工的过程进行说明,
当N=3,即存在K1,K2,K3三个匹配规则的实现过程。
INSERT INTO TABLE
TMP_MATCH_RULES_HIVE partition(ds='$PARTITION_DATE')
SELECT
a.ORDER_NO,a.K1,a.K2,a.K3,a.V',b.V
FROM
(SELECT*FROM TMP_DATA_CHECK_RULES_HIVE
WHERE DS='$PARTITION_DATE'AND K1<>”AND K1<>NULL AND K2<>”
AND K2<>NULL AND K3<>”AND K3<>NULL)a
LEFT JOIN
(SELECT K1,K2,K3,V FROM TM_RULE_HIVE WHERE DS='$PARTITION_DATE'ANDK1<>”AND K1<>NULL AND K2<>”AND K2<>NULL AND K3<>”AND K3<>NULL)b
ON(a.K1=b.K1 AND a.K2=b.K2 AND a.K3=b.K3)
WHERE
b.V<>NULL AND b.V<>”
当N=2,即存在K1,K2,两个匹配规则的实现过程。
INSERT INTO TABLE
TMP_MATCH_RULES_HIVE partition(ds='$PARTITION_DATE')
SELECT
a.ORDER_NO,a.K1,a.K2,a.K3,a.V',b.V
FROM
(SELECT*FROM TMP_DATA_CHECK_RULES_HIVE
WHERE DS='$PARTITION_DATE'AND K1<>”AND K1<>NULL AND K2<>”
AND K2<>NULL AND(K3=”OR K3 IS NULL))a
LEFT JOIN
(SELECT K1,K2,K3,V FROM TM_RULE_HIVE WHERE DS='$PARTITION_DATE'ANDK1<>”AND K1<>NULL AND K2<>”AND K2<>NULL)b
ON(a.K1=b.K1 AND a.K2=b.K2)
WHERE
b.V<>NULL AND b.V<>”
需要说明的是,该方案有效利用了HQL中的左连接(LEFT JOIN)功能,在第二规则匹配表中的匹配规则与第一规则匹配表中匹配规则进行匹配的过程中,一次性匹配多个最大可能的规则,输出命中条件最多的规则,从而得到更精确的第二匹配数据。
参见图8,图8是本申请实施例提供的HIVE规则匹配数据的方法的一个可选的流程示意图,将结合图8示出的步骤进行说明,
步骤S501,从结构化查询语言的数据库中抽取HIVE的第一规则匹配表和HIVE的第一匹配数据。
其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据。
步骤S502,在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表。
步骤S503,按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加第二匹配数据到第二规则匹配表中。
本申请实施例中,第二规则匹配表中包括同一业务主键关联的业务在不同时刻的多个第一匹配数据。
步骤S504,在第二规则匹配表中,基于同一业务主键对多个第一匹配数据进行去重处理,得到业务主键关联的更新后的第一匹配数据。
这里,第二规则匹配表中包括同一业务主键关联的多个第一匹配数据时,进行去重处理,更新该表中的第一匹配数据。
本申请一些实施例中,得到业务主键关联的业务对应的第一匹配数据之后的步骤可以通过如下方式实现:获取预定义的分隔符;基于分隔符对第一匹配数据进行分割,并输出分割后的第一匹配数据。
步骤S505,基于第二规则匹配表中更新后的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果。
这里,在第二规则匹配表中基于更新后的第一匹配数据和标准匹配数据确定缺失数据。
这里,结合图9对第二规则匹配表中存在的多个第一匹配数据进行去重处理的过程作出进一步地说明,
步骤S601,获取第二规则匹配表中的第一匹配数据。
步骤S602,基于业务主键,对第二规则匹配表中的第一匹配数据进行分组,将分组后的第一匹配数据存储到第三规则匹配表中。
本申请实施例中,第三规则匹配表是与第二规则匹配表相同结构的表。终端利用HIVE SQL的语法中的group by并基于第一匹配数据中的业务主键进行分组。
步骤S603,基于同一业务主键,将分组后的第二规则匹配表中的第一匹配数据合并到一个SET集合中,并将SET集合转换为MAP映射,按照MAP映射中的key值对多个第一匹配数据进行去重处理,得到处理后的第一匹配数据。
本申请实施例中,终端利用HIVE SQL标准函数中的map_keys函数、str_to_map函数、concat_ws函数、collect_set函数对分组后的第一匹配数据进行去重处理。需要说明的是,map_keys函数可以理解为获取map中的所有key,并将key存储为array格式;str_to_map函数可以理解为将字符串参数分割对影城map类型;concat_ws函数可以理解为用指定的分隔符连接两个参数;collect_set可以理解为将某些列的多行进行去重合并,并通过指定符号进行连接。
本申请实施例中,通过如上步骤实现HIVE中的规则匹配数据的方案,基于业务主键对第二规则匹配表中的数据进行分组、排重以及规则匹配,从而得到满足匹配规则的处理后的第一匹配数据。
示例性的,终端可以通过如下方式对分组后的第一匹配数据V’实现去重处理。
concat_ws('|',map_keys(str_to_map(concat_ws(',',collect_set(V')),',',':')))as V'
步骤S604,用“|”分隔符将处理后的第一匹配数据拼接为字符串,输出业务主键关联的更新后的第一匹配数据。
需要说明的是,本申请实施例中不仅可以对第一匹配数据进行去重处理,还可以对第二匹配数据进行去重处理。示例性的,其具体实现方式如下:
insert overwrite table
RES_MATCHED_RULES_HIVE partition(ds='${PARTITION_DATE}')
select
ORDER_NO,max(last_modified_datetime),
concat_ws('|',map_keys(str_to_map(concat_ws(',',collect_set(V')),',',':')))as
V',concat_ws('|',map_keys(str_to_map(concat_ws(',',collect_set(V)),',',':')))as V
from TMP_MATCH_RULES_HIVE
where ds='${PARTITION_DATE}'group by ORDER_NO
这里,对基于第二规则匹配表中的更新后的第一匹配数据和第二匹配数据,确定与业务主键关联的业务对应的第三匹配数据的过程作出进一步地说明,
以实际业务场景为例,如各类订单需要提交的各类影像文件,终端获取到订单业务中当前订单在处于已经成交状态下已存储在数据库中的文件(即更新后的第一匹配数据),基于订单影像收集规则(即第一匹配规则)和当前订单进行规则匹配,得到当前订单在处于已经成交状态下理应存储在数据库中的全部文件(即第二匹配数据),将已存储在数据库中的文件与理应存储在数据库中的全部文件进行比对,输出订单当前还缺少哪些影像文件(即第三匹配数据)。
在一个可实现场景中,基于第一匹配数据和第二匹配数据,确定与业务主键关联的业务对应的第三匹配数据可通过如下方式实现:
select
ORDER_NO,V',V,regexp_replace(regexp_replace(regexp_replace(V,V',”),'[|]+','|'),'[|]$|^[|]',”)as MISS_TYPES
from RES_MATCHED_RULES_HIVE
where ds='${PARTITION_DATE}'
下面继续说明本申请实施例提供的HIVE规则匹配数据的装置154实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器150的HIVE规则匹配数据的装置154中的软件模块可以是终端100中的HIVE规则匹配数据的装置,包括:
获取模块1541,用于获取HIVE的第一规则匹配表和HIVE的第一匹配数据;其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据。
处理模块1542,用于在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表;按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加第二匹配数据到第二规则匹配表中;基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果。
在一些实施例中,处理模块1542,还用于若第一匹配数据和第二匹配数据不同,基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定与业务主键关联的业务对应的第三匹配数据,并输出第三匹配数据;其中,第三匹配数据表征第一匹配数据与第二匹配数据之间的差异数据;匹配结果包括第三匹配数据。
在一些实施例中,获取模块1541,还用于从结构化查询语言的数据库中抽取第一规则匹配表和第一匹配数据。
在一些实施例中,获取模块1541,还用于获取同一业务主键关联的业务在不同时刻的多个第一子匹配数据;处理模块1542,还用于对多个第一子匹配数据进行去重处理,得到业务主键关联的业务对应的第一匹配数据。
在一些实施例中,获取模块1541,还用于读取第一规则匹配表包括的匹配规则中的N个维度的规则;其中,N为第一规则匹配表包括的匹配规则对应的维度的总数,且N为大于1的正整数;读取第二规则匹配表包括的匹配规则中的N个维度的规则;处理模块1542,还用于若第一规则匹配表包括的匹配规则中的N个维度中第n维匹配规则与第二规则匹配表包括的匹配规则中的N个维度中第n维度的规则相同,确定满足匹配规则中的N个维度的规则时所匹配的数据为第二匹配数据;其中,N为第一规则匹配表包括的匹配规则关联的维度的总数,n的取值为从1到N的所有正整数;若N-M大于1,确定满足匹配规则中的N-M个维度的规则时所匹配的数据为第二匹配数据;其中,M的取值为从1到N-1的所有正整数。
在一些实施例中,获取模块1541,还用于若N-M大于1,读取第一规则匹配表包括的匹配规则中的N-M个维度的规则;其中,M的取值为从1到N-1的所有正整数;读取第二规则匹配表包括的匹配规则中的N-M个维度的规则;处理模块1542,还用于若第一规则匹配表包括的匹配规则中的N-M个维度中第n'维度的规则与第二规则匹配表包括的匹配规则中的N-M个维度中第n'维度的规则相同,确定满足匹配规则中的N-M个维度的规则时所匹配的数据为第二匹配数据;其中,n'的取值为从1到N-M的所有正整数;
在一些实施例中,获取模块1541,还用于若N-M等于1,读取第一规则匹配表包括的匹配规则中的N-M个维度的规则;读取第二规则匹配表包括的匹配规则中的N-M个维度的规则;处理模块1542,还用于若第一规则匹配表包括的匹配规则中的N-M个维度的规则与第二规则匹配表包括的匹配规则中的N-M个维度的规则相同,确定满足匹配规则中的N-M个维度的规则时所匹配数据为第二匹配数据。
在一些实施例中,第二规则匹配表中包括同一业务主键关联的业务在不同时刻的多个第一匹配数据,处理模块1542,还用于在第二规则匹配表中,基于同一业务主键对多个第一匹配数据进行去重处理,得到业务主键关联的更新后的第一匹配数据。
在一些实施例中,处理模块1542,还用于基于第二规则匹配表中的更新后的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果。
在一些实施例中,处理模块1542,还用于若第一匹配数据和第二匹配数据相同,确定第一匹配数据为满足匹配规则的数据,并输出第一匹配数据;其中,匹配结果包括第一匹配数据。
在一些实施例中,获取模块1541,还用于获取预定义的分隔符;处理模块1542,还用于基于分隔符对第一匹配数据进行分割,并输出分割后的第一匹配数据。
本申请实施例提供的HIVE规则匹配数据的装置,通过获取HIVE的第一规则匹配表和HIVE的第一匹配数据;其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据;在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表;按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加第二匹配数据到第二规则匹配表中;基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果;也就是说,本申请从匹配规则出发去看数据,先构建用于后续匹配的第二规则匹配表,第二规则匹配表是在第一规则匹配表中补齐业务主键和第一匹配数据所得到的匹配表;进一步地,按照降维匹配的策略,确定第二规则匹配表中满足不同匹配规则时所匹配的数据即第二匹配数据,并添加到第二规则匹配表中,最后直接在第二规则匹配表中基于第一匹配数据和第二匹配数据快速且准确地定位出规则匹配数据所得到的匹配结果,该方法通用性强,易于理解和实现,避免加入过多的内容,操作简单;同时构建的第二规则匹配表具有稳定、可靠,可读性强的特点。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3-6、8示出的方法。
本申请提供的存储介质,通过获取HIVE的第一规则匹配表和HIVE的第一匹配数据;其中,第一规则匹配表包括与业务主键关联的匹配规则;第一匹配数据包括来自于贴源层的与业务主键关联的业务对应的匹配数据;在第一规则匹配表中添加业务主键、第一匹配数据,得到第二规则匹配表;按照降维匹配的策略,确定满足匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加第二匹配数据到第二规则匹配表中;基于第二规则匹配表中的第一匹配数据和第二匹配数据,确定规则匹配数据所得到的匹配结果;也就是说,本申请从匹配规则出发去看数据,先构建用于后续匹配的第二规则匹配表,第二规则匹配表是在第一规则匹配表中补齐业务主键和第一匹配数据所得到的匹配表;进一步地,按照降维匹配的策略,确定第二规则匹配表中满足不同匹配规则时所匹配的数据即第二匹配数据,并添加到第二规则匹配表中,最后直接在第二规则匹配表中基于第一匹配数据和第二匹配数据快速且准确地定位出规则匹配数据所得到的匹配结果,该方法通用性强,易于理解和实现,避免加入过多的内容,操作简单;同时构建的第二规则匹配表具有稳定、可靠,可读性强的特点。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(超文本标记语言,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (12)
1.一种HIVE规则匹配数据的方法,其特征在于,包括:
获取HIVE的第一规则匹配表和HIVE的第一匹配数据;其中,所述第一规则匹配表包括与业务主键关联的匹配规则;所述第一匹配数据包括来自于贴源层的与所述业务主键关联的业务对应的匹配数据;
在所述第一规则匹配表中添加所述业务主键、所述第一匹配数据,得到第二规则匹配表;
按照降维匹配的策略,确定满足所述匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,并添加所述第二匹配数据到所述第二规则匹配表中;
基于所述第二规则匹配表中的所述第一匹配数据和所述第二匹配数据,确定规则匹配数据所得到的匹配结果;
其中,所述按照降维匹配的策略,确定满足所述匹配规则中的不同维度的规则时所匹配的数据为第二匹配数据,包括:
读取所述第一规则匹配表包括的所述匹配规则中的N个维度的规则;其中,所述N为第一规则匹配表包括的所述匹配规则对应的维度的总数,且所述N为大于1的正整数;
读取所述第二规则匹配表包括的所述匹配规则中的所述N个维度的规则;
若所述第一规则匹配表包括的所述匹配规则中的所述N个维度中第n维度的规则与所述第二规则匹配表包括的所述匹配规则中的所述N个维度中所述第n维度的规则相同,确定满足所述匹配规则中的所述N个维度的规则时所匹配的数据为所述第二匹配数据;
其中,所述n的取值为从1到N的所有正整数;
若N-M大于1,确定满足所述匹配规则中的所述N-M个维度的规则时所匹配的数据为所述第二匹配数据;其中,M的取值为从1到N-1的所有正整数。
2.根据权利要求1中所述的方法,其特征在于,基于所述第二规则匹配表中的所述第一匹配数据和所述第二匹配数据,确定规则匹配数据所得到的匹配结果,包括:
若所述第一匹配数据和所述第二匹配数据不同,基于所述第二规则匹配表中的所述第一匹配数据和所述第二匹配数据,确定与所述业务主键关联的业务对应的第三匹配数据,并输出所述第三匹配数据;其中,所述第三匹配数据表征所述第一匹配数据与所述第二匹配数据之间的差异数据,所述匹配结果包括所述第三匹配数据。
3.根据权利要求1中所述的方法,其特征在于,所述获取HIVE的第一规则匹配表和HIVE的第一匹配数据,包括:
从结构化查询语言的数据库中抽取所述第一规则匹配表和所述第一匹配数据。
4.根据权利要求1中所述的方法,其特征在于,所述获取HIVE的第一匹配数据,包括:
获取同一所述业务主键关联的所述业务在不同时刻的多个第一子匹配数据;
对多个所述第一子匹配数据进行去重处理,得到所述业务主键关联的所述业务对应的所述第一匹配数据。
5.根据权利要求1所述的方法,其特征在于,所述若N-M大于1,确定满足所述匹配规则中的所述N-M个维度的规则时所匹配的数据为所述第二匹配数据,包括:
若所述N-M大于1,读取所述第一规则匹配表包括的所述匹配规则中的所述N-M个维度的规则;其中,所述M的取值为从1到N-1的所有正整数;
读取所述第二规则匹配表包括的所述匹配规则中的所述N-M个维度的规则;
若所述第一规则匹配表包括的所述匹配规则中的所述N-M个维度中第n,维度的规则与所述第二规则匹配表包括的所述匹配规则中的所述N-M个维度中所述第n,维度的规则相同,确定满足所述匹配规则中的所述N-M个维度的规则时所匹配的数据为所述第二匹配数据;
其中,所述n,的取值为从1到N-M的所有正整数。
6.根据权利要求1所述的方法,其特征在于,所述确定满足所述匹配规则中的所述N个维度的规则时所匹配的数据为所述第二匹配数据之后,包括:
若所述N-M等于1,读取所述第一规则匹配表包括的所述匹配规则中的所述N-M个维度的规则;其中,所述M的取值为从1到N-1的所有正整数;
读取所述第二规则匹配表包括的所述匹配规则中的所述N-M个维度的规则;
若所述第一规则匹配表包括的所述匹配规则中的所述N-M个维度的规则与所述第二规则匹配表包括的所述匹配规则中的所述N-M个维度的规则相同,确定满足所述匹配规则中的所述N-M个维度的规则时所匹配数据为所述第二匹配数据。
7.根据权利要求1中所述的方法,其特征在于,所述第二规则匹配表中包括同一所述业务主键关联的所述业务在不同时刻的多个第一匹配数据,在所述添加所述第二匹配数据到所述第二规则匹配表之后,所述方法包括:
在所述第二规则匹配表中,基于同一所述业务主键对多个所述第一匹配数据进行去重处理,得到所述业务主键关联的更新后的第一匹配数据。
8.根据权利要求7中所述的方法,其特征在于,所述基于所述第二规则匹配表中的所述第一匹配数据和所述第二匹配数据,确定规则匹配数据所得到的匹配结果,包括:
基于所述第二规则匹配表中的所述更新后的第一匹配数据和所述第二匹配数据,确定规则匹配数据所得到的匹配结果。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述基于所述第二规则匹配表中的所述第一匹配数据和所述第二匹配数据,确定规则匹配数据所得到的匹配结果,包括:
若所述第一匹配数据和所述第二匹配数据相同,确定所述第一匹配数据为满足所述匹配规则的数据,并输出所述第一匹配数据;其中,所述匹配结果包括所述第一匹配数据。
10.根据权利要求4所述的方法,其特征在于,所述得到所述业务主键关联的所述业务对应的所述第一匹配数据之后,包括:
获取预定义的分隔符;
基于所述分隔符对所述第一匹配数据进行分割,并输出分割后的所述第一匹配数据。
11.一种HIVE规则匹配数据的设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的方法。
12.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011192319.0A CN112256737B (zh) | 2020-10-30 | 2020-10-30 | 一种hive规则匹配数据的方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011192319.0A CN112256737B (zh) | 2020-10-30 | 2020-10-30 | 一种hive规则匹配数据的方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112256737A CN112256737A (zh) | 2021-01-22 |
CN112256737B true CN112256737B (zh) | 2024-05-28 |
Family
ID=74267625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011192319.0A Active CN112256737B (zh) | 2020-10-30 | 2020-10-30 | 一种hive规则匹配数据的方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256737B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786451A (zh) * | 2014-12-15 | 2016-07-20 | 华为技术有限公司 | 一种复杂事件处理方法、装置及系统 |
CN106057200A (zh) * | 2016-06-23 | 2016-10-26 | 广州亿程交通信息有限公司 | 基于语义的交互系统及交互方法 |
CN106230791A (zh) * | 2016-07-20 | 2016-12-14 | 杭州迪普科技有限公司 | 一种单业务多策略快速匹配的方法和装置 |
CN106326219A (zh) * | 2015-06-16 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 核对业务系统数据的方法、装置及系统 |
US9886483B1 (en) * | 2010-04-29 | 2018-02-06 | Quest Software Inc. | System for providing structured query language access to non-relational data stores |
CN108153875A (zh) * | 2017-12-26 | 2018-06-12 | 广州蓝豹智能科技有限公司 | 语料处理方法、装置、智能音箱和存储介质 |
CN109933648A (zh) * | 2019-02-28 | 2019-06-25 | 北京学之途网络科技有限公司 | 一种真实用户评论的区分方法和区分装置 |
CN110119292A (zh) * | 2018-02-07 | 2019-08-13 | 中兴通讯股份有限公司 | 系统运行参数查询方法、匹配方法、装置及节点设备 |
CN110287383A (zh) * | 2019-06-28 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 一种字段信息检验方法及装置 |
CN110502546A (zh) * | 2019-08-22 | 2019-11-26 | 郑州阿帕斯科技有限公司 | 一种数据处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9667446B2 (en) * | 2014-01-08 | 2017-05-30 | Cavium, Inc. | Condition code approach for comparing rule and packet data that are provided in portions |
US10642855B2 (en) * | 2018-04-13 | 2020-05-05 | Banjo, Inc. | Utilizing satisified rules as input signals |
US11106719B2 (en) * | 2019-02-22 | 2021-08-31 | International Business Machines Corporation | Heuristic dimension reduction in metadata modeling |
-
2020
- 2020-10-30 CN CN202011192319.0A patent/CN112256737B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886483B1 (en) * | 2010-04-29 | 2018-02-06 | Quest Software Inc. | System for providing structured query language access to non-relational data stores |
CN105786451A (zh) * | 2014-12-15 | 2016-07-20 | 华为技术有限公司 | 一种复杂事件处理方法、装置及系统 |
CN106326219A (zh) * | 2015-06-16 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 核对业务系统数据的方法、装置及系统 |
CN106057200A (zh) * | 2016-06-23 | 2016-10-26 | 广州亿程交通信息有限公司 | 基于语义的交互系统及交互方法 |
CN106230791A (zh) * | 2016-07-20 | 2016-12-14 | 杭州迪普科技有限公司 | 一种单业务多策略快速匹配的方法和装置 |
CN108153875A (zh) * | 2017-12-26 | 2018-06-12 | 广州蓝豹智能科技有限公司 | 语料处理方法、装置、智能音箱和存储介质 |
CN110119292A (zh) * | 2018-02-07 | 2019-08-13 | 中兴通讯股份有限公司 | 系统运行参数查询方法、匹配方法、装置及节点设备 |
CN109933648A (zh) * | 2019-02-28 | 2019-06-25 | 北京学之途网络科技有限公司 | 一种真实用户评论的区分方法和区分装置 |
CN110287383A (zh) * | 2019-06-28 | 2019-09-27 | 深圳前海微众银行股份有限公司 | 一种字段信息检验方法及装置 |
CN110502546A (zh) * | 2019-08-22 | 2019-11-26 | 郑州阿帕斯科技有限公司 | 一种数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
面向海量数据的高性能多维OLAP技术的研究;王心杰;中国优秀硕士学位论文全文数据库 (信息科技辑);20180215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112256737A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11030242B1 (en) | Indexing and querying semi-structured documents using a key-value store | |
WO2019134340A1 (zh) | 薪资计算方法、应用服务器及计算机可读存储介质 | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
US10671586B2 (en) | Optimal sort key compression and index rebuilding | |
CN105117378A (zh) | 一种json文件转换为excel文件的方法及装置 | |
CN108897874B (zh) | 用于处理数据的方法和装置 | |
WO2021217846A1 (zh) | 接口数据处理方法、装置、计算机设备和存储介质 | |
CN113051268A (zh) | 数据查询方法、数据查询装置、电子设备及存储介质 | |
JP2022031625A (ja) | 情報をプッシュするための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
WO2023124217A1 (zh) | 一种获取多列数据的综合排列数据的方法与设备 | |
CN111506608A (zh) | 一种结构化文本的比较方法和装置 | |
WO2019071907A1 (zh) | 基于操作页面识别帮助信息的方法及应用服务器 | |
CN113760839A (zh) | 日志数据压缩处理方法、装置、电子设备和存储介质 | |
CN112256737B (zh) | 一种hive规则匹配数据的方法、设备及存储介质 | |
CN108694172B (zh) | 信息输出方法和装置 | |
US11449461B2 (en) | Metadata-driven distributed dynamic reader and writer | |
US10754859B2 (en) | Encoding edges in graph databases | |
CN110704635B (zh) | 一种知识图谱中三元组数据的转换方法及装置 | |
CN116303427A (zh) | 数据处理方法及装置、电子设备和存储介质 | |
CN108984719B (zh) | 基于列存储的数据删除方法、装置、服务器及存储介质 | |
US11720531B2 (en) | Automatic creation of database objects | |
CN115129899B (zh) | 文档标签信息生成方法、装置、设备、介质和程序产品 | |
CN111427938B (zh) | 数据转存的方法和装置 | |
US20240248908A1 (en) | Data parser with dialect prediction | |
CN114385730A (zh) | 一种基于yaml配置文件将json格式文本导入数据库的方法 |
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 |