CN110647564B - Hive建表方法、电子装置及计算机可读存储介质 - Google Patents
Hive建表方法、电子装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110647564B CN110647564B CN201910762870.5A CN201910762870A CN110647564B CN 110647564 B CN110647564 B CN 110647564B CN 201910762870 A CN201910762870 A CN 201910762870A CN 110647564 B CN110647564 B CN 110647564B
- Authority
- CN
- China
- Prior art keywords
- field
- target
- fetch
- data
- hive
- 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 34
- 238000012545 processing Methods 0.000 claims abstract description 126
- 230000006870 function Effects 0.000 claims abstract description 21
- 238000013507 mapping Methods 0.000 claims description 11
- 238000011161 development Methods 0.000 abstract description 15
- 238000010276 construction Methods 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- 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
-
- 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)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据报表技术,揭露了一种Hive建表方法,该方法包括:设置通用取数规则,包括各种SQL逻辑处理方式及相关函数;设置目标表所需的字段和各字段对应的取数源表;从所述取数源表获取所需字段的数据;根据所述通用取数规则配置所述目标表所需的SQL逻辑处理方式及相关参数、码表;按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应取数处理,得到取数处理结果;根据预先设置的建表语句和取数处理结果生成所述目标表。本发明还提供一种电子装置及计算机可读存储介质。本发明提供的Hive建表方法、电子装置及计算机可读存储介质能够实现代码自动化,减少手工处理工作量,提升处理效率,减小Hive建表的开发难度。
Description
技术领域
本发明涉及数据报表技术领域,尤其涉及一种Hive建表方法、电子装置及计算机可读存储介质。
背景技术
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL(Structured Query Language,结构化查询语言)查询功能,可以将SQL语句转换为MapReduce任务进行运行。Hive定义了简单的类SQL查询语言,称为HQL,它允许熟悉SQL的用户查询数据。同时,这个语言也允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
在Hive建表开发过程中,需要将多个Excel表格的多个字段聚合起来,根据建表语句和取数SQL生成新的目标表。其中,在编写Hive脚本前,需根据开发需求生成mapping(映射),含取数源表、规则等,再根据mapping的规则手工编写成建表语句和取数SQL,手工处理工作量较大,处理效率较低,开发难度较高。
发明内容
有鉴于此,本发明提出一种Hive建表方法、电子装置及计算机可读存储介质,以解决如何降低Hive建表开发难度和提高处理效率的问题。
首先,为实现上述目的,本发明提出一种Hive建表方法,该方法包括步骤:
设置通用取数规则,包括各种SQL逻辑处理方式及相关函数;
设置目标表所需的字段和各字段对应的取数源表;
从所述取数源表获取所需字段的数据;
根据所述通用取数规则配置所述目标表所需的SQL逻辑处理方式及相关参数、码表;
按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应取数处理,得到取数处理结果;及
根据预先设置的建表语句和取数处理结果生成所述目标表。
可选地,该方法还包括步骤:
通过编辑mapping文件的宏,自动生成所述目标表的建表脚本。
可选地,所述SQL逻辑处理方式包括将一个字段的数据编码转化为名称、直接复制字段值、赋默认值、给空值、关联参数表。
可选地,所述设置目标表所需的字段和各字段对应的取数源表的步骤包括:
设置取数源表字段名称、对应的取数源表表名、所述取数源表所在的数据库和所述目标表的表名、建立所述目标表的目标数据库、所述目标表中的字段名称以及所述目标表的字段与所述取数源表的字段之间的对应关系。
可选地,所述按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应取数处理的步骤包括:
按照所配置的处理方式以及所需的参数、码表,生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到所述目标表各个对应字段的数据。
此外,为实现上述目的,本发明还提供一种电子装置,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的Hive建表系统,所述Hive建表系统被所述处理器执行时实现如下步骤:
设置通用取数规则,包括各种SQL逻辑处理方式及相关函数;
设置目标表所需的字段和各字段对应的取数源表;
从所述取数源表获取所需字段的数据;
根据所述通用取数规则配置所述目标表所需的SQL逻辑处理方式及相关参数、码表;
按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应取数处理,得到取数处理结果;及
根据预先设置的建表语句和取数处理结果生成所述目标表。
可选地,所述Hive建表系统被所述处理器执行时还实现步骤:
通过编辑mapping文件的宏,自动生成所述目标表的建表脚本。
可选地,所述SQL逻辑处理方式包括将一个字段的数据编码转化为名称、直接复制字段值、赋默认值、给空值、关联参数表。
可选地,所述设置目标表所需的字段和各字段对应的取数源表的步骤包括:
设置取数源表字段名称、对应的取数源表表名、所述取数源表所在的数据库和所述目标表的表名、建立所述目标表的目标数据库、所述目标表中的字段名称以及所述目标表的字段与所述取数源表的字段之间的对应关系。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有Hive建表系统,所述Hive建表系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的Hive建表方法的步骤。
相较于现有技术,本发明所提出的Hive建表方法、电子装置及计算机可读存储介质,可以实现代码自动化,根据预先设置的通用取数规则以及针对目标表设置的字段和取数源表、配置的处理方式及相关参数、码表,自动生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到目标表各个字段的数据,从而根据建表语句和处理结果自动建立所述目标表,减少手工处理工作量,提升处理效率,减小Hive建表的开发难度。另外,还可以自动化生成所述目标表的建表脚本,节省时间,大大提高建表开发的工作效率。
附图说明
图1是本发明电子装置一可选的硬件架构的示意图;
图2是本发明Hive建表系统第一实施例的程序模块示意图;
图3是本发明Hive建表系统第二实施例的程序模块示意图;
图4是本发明Hive建表方法第一实施例的流程示意图;
图5是本发明Hive建表方法第二实施例的流程示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明电子装置2一可选的硬件架构的示意图。
本实施例中,所述电子装置2可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图1仅示出了具有组件11-13的电子装置2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述电子装置2可以是服务器,也可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。所述服务器可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,并且可以是独立的服务器,也可以是多个服务器所组成的服务器集群。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子装置2的内部存储单元,例如该电子装置2的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子装置2的外部存储设备,例如该电子装置2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子装置2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述电子装置2的操作系统和各类应用软件,例如Hive建表系统200的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子装置2的总体操作。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述的Hive建表系统200等。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述电子装置2与其他电子设备之间建立通信连接。
至此,己经详细介绍了本发明相关设备的硬件结构和功能。下面,将基于上述介绍提出本发明的各个实施例。
首先,本发明提出一种Hive建表系统200。
参阅图2所示,是本发明Hive建表系统200第一实施例的程序模块图。
本实施例中,所述Hive建表系统200包括一系列的存储于存储器11上的计算机程序指令,当该计算机程序指令被处理器12执行时,可以实现本发明各实施例的Hive建表操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,Hive建表系统200可以被划分为一个或多个模块。例如,在图2中,所述Hive建表系统200可以被分割成设置模块201、获取模块202、处理模块203、生成模块204。其中:
所述设置模块201,用于设置通用取数规则,即各种SQL逻辑处理方式及相关函数等。
具体地,在Hive建表开发过程中,需要将多个Excel表格的多个字段聚合起来,根据建表语句和取数SQL生成新的目标表。针对该建表过程的取数SQL,可以预先设置通用的取数规则,以在每次取数时从所述通用的取数规则中查询合适的规则并使用。
所述通用取数规则包括各种SQL逻辑处理方式及相关函数。所述SQL逻辑处理方式包括将某字段的数据编码转化为名称(TRANSFER)、直接复制字段值(COPY)、赋默认值(SetValue)、给空值(SetNull)、关联参数表(LookUp)等。
所述设置模块201,还用于设置目标表所需的字段和各字段对应的取数源表。
具体地,当需要建立某个目标表时,设置该目标表所需要聚合的字段和各个字段所对应的取数源表,即每个字段的数据分别从哪个源表中获取。所设置的内容包括源表字段名称、对应的取数源表表名以及该取数源表所在的数据库。例如,设置所需的字段包括status、policy_no、agent_code等,对应的取数源表为数据库cx_ods_safe中保存的源表ply_base_info。另外,还需要设置所述目标表的表名、建立所述目标表的目标数据库、所述目标表中的字段名称以及目标表的字段与取数源表的字段之间的对应关系。
所述获取模块202,用于从所述取数源表获取所需字段的数据。
具体地,当设置完所需字段和取数源表后,可以直接从所述取数源表中获取相应字段的数据,用来进行后续处理后聚合生成所述目标表。例如,从上述源表ply_base_info中获取status、policy_no、agent_code等字段的数据。
所述设置模块201,还用于设置当前目标表所需的SQL逻辑处理方式及相关参数、码表。
具体地,针对所述目标表的每个字段,还需要根据所述通用取数规则配置对应的处理方式以及该处理方式可能需要的参数和码表(关联参数表)等。
例如,针对status字段,处理方式为编码转化为名称(TRANSFER),对应的名称参数包括“01:已承保,02:注销,03:退保”,处理函数为“case status when'01'then'已承保'when'02'then'注销'when'03'then'退保'else status end”,即当源表中status字段的值为“01”时,将其转换为“已承保”;当源表中status字段的值为“02”时,将其转换为“注销”;当源表中status字段的值为“03”时,将其转换为“退保”。
针对policy_no字段,处理方式包括直接复制字段值(COPY)、赋默认值(SetValue)、给空值(SetNull)三种,其中直接复制字段值为将源表中该policy_no字段的值直接复制到目标表policy_no字段中;赋默认值为将源表中该policy_no字段的值在目标表valid_state字段中赋为“TRUE”;给空值为将源表中该policy_no字段的值在目标表plan_code字段中赋为空,也就是NULL。
针对agent_code字段,处理方式为关联参数表(LookUp),对应的参数为“table(cx_ods_safe.agent_define),join(left join),joincolumn(code),column(name)”,处理函数为“select b.name from agent_define b where a.agent_code=b.code”。
所述处理模块203,用于按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应处理,得到取数处理结果。
具体地,按照所配置的处理方式以及所需的参数、码表,可以生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到目标表各个字段的数据。例如,源表中status字段的数据经上述处理后,生成目标表status_name字段的数据;源表中policy_no字段的数据经上述处理后,分别生成目标表policy_no字段、valid_state字段和plan_code字段的数据;源表中agent_code字段的数据经上述处理后,生成目标表agent_name字段的数据。
所述生成模块204,用于根据预先设置的建表语句和取数处理结果生成目标表。
具体地,根据针对所述目标表预先设置的建表语句,以及所述取数SQL的处理结果,可以在目标数据库中自动建立所述目标表。
本实施例提供的Hive建表系统,可以实现代码自动化,根据预先设置的通用取数规则以及针对目标表设置的字段和取数源表、配置的处理方式及相关参数、码表,自动生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到目标表各个字段的数据,从而根据建表语句和处理结果自动建立所述目标表,减少手工处理工作量,提升处理效率,减小Hive建表的开发难度。
参阅图3所示,是本发明Hive建表系统200第二实施例的程序模块图。本实施例中,所述的Hive建表系统200除了包括第一实施例中的所述设置模块201、获取模块202、处理模块203、生成模块204之外,还包括编辑模块205。
所述编辑模块205用于通过编辑mapping文件的宏,自动生成所述目标表的建表脚本。
具体地,通过编辑mapping文件的宏,即通过Excel编辑VBA代码并通过调用宏来实现预定功能,自动生成一张或多张Hive表的HQL建表脚本。
例如,生成HQL建表脚本的具体步骤可以包括:
(1)在D盘下新建文件夹,名称为DDL;
(2)修改附件Excel内容,按照格式粘贴;
(3)全部粘贴好后,通过“视图->宏->查看宏->编辑”打开宏内容;
(4)修改宏内容:根据分区表和顺序表的不同,修改好宏内容后,保存修改内容并运行;
(5)最终生成脚本在D:\DDL。
本实施例提供的Hive建表系统,可以自动化生成所述目标表的建表脚本,节省时间,大大提高建表开发的工作效率。
此外,本发明还提出一种Hive建表方法。
参阅图4所示,是本发明Hive建表方法第一实施例的流程示意图。在本实施例中,根据不同的需求,图4所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。
步骤S400,设置通用取数规则,即各种SQL逻辑处理方式及相关函数等。
具体地,在Hive建表开发过程中,需要将多个Excel表格的多个字段聚合起来,根据建表语句和取数SQL生成新的目标表。针对该建表过程的取数SQL,可以预先设置通用的取数规则,以在每次取数时从所述通用的取数规则中查询合适的规则并使用。
所述通用取数规则包括各种SQL逻辑处理方式及相关函数。所述SQL逻辑处理方式包括将某字段的数据编码转化为名称(TRANSFER)、直接复制字段值(COPY)、赋默认值(SetValue)、给空值(SetNull)、关联参数表(LookUp)等。
步骤S402,设置目标表所需的字段和各字段对应的取数源表。
具体地,当需要建立某个目标表时,设置该目标表所需要聚合的字段和各个字段所对应的取数源表,即每个字段的数据分别从哪个源表中获取。所设置的内容包括源表字段名称、对应的取数源表表名以及该取数源表所在的数据库。例如,设置所需的字段包括status、policy_no、agent_code等,对应的取数源表为数据库cx_ods_safe中保存的源表ply_base_info。另外,还需要设置所述目标表的表名、建立所述目标表的目标数据库、所述目标表中的字段名称以及目标表的字段与取数源表的字段之间的对应关系。
步骤S404,从所述取数源表获取所需字段的数据。
具体地,当设置完所需字段和取数源表后,可以直接从所述取数源表中获取相应字段的数据,用来进行后续处理后聚合生成所述目标表。例如,从上述源表ply_base_info中获取status、policy_no、agent_code等字段的数据。
步骤S406,设置当前目标表所需的SQL逻辑处理方式及相关参数、码表。
具体地,针对所述目标表的每个字段,还需要根据所述通用取数规则配置对应的处理方式以及该处理方式可能需要的参数和码表(关联参数表)等。
例如,针对status字段,处理方式为编码转化为名称(TRANSFER),对应的名称参数包括“01:已承保,02:注销,03:退保”,处理函数为“case status when'01'then'已承保'when'02'then'注销'when'03'then'退保'else status end”,即当源表中status字段的值为“01”时,将其转换为“已承保”;当源表中status字段的值为“02”时,将其转换为“注销”;当源表中status字段的值为“03”时,将其转换为“退保”。
针对policy_no字段,处理方式包括直接复制字段值(COPY)、赋默认值(SetValue)、给空值(SetNull)三种,其中直接复制字段值为将源表中该policy_no字段的值直接复制到目标表policy_no字段中;赋默认值为将源表中该policy_no字段的值在目标表valid_state字段中赋为“TRUE”;给空值为将源表中该policy_no字段的值在目标表plan_code字段中赋为空,也就是NULL。
针对agent_code字段,处理方式为关联参数表(LookUp),对应的参数为“table(cx_ods_safe.agent_define),join(left join),joincolumn(code),column(name)”,处理函数为“select b.name from agent_define b where a.agent_code=b.code”。
步骤S408,按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应处理,得到取数处理结果。
具体地,按照所配置的处理方式以及所需的参数、码表,可以生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到目标表各个字段的数据。例如,源表中status字段的数据经上述处理后,生成目标表status_name字段的数据;源表中policy_no字段的数据经上述处理后,分别生成目标表policy_no字段、valid_state字段和plan_code字段的数据;源表中agent_code字段的数据经上述处理后,生成目标表agent_name字段的数据。
步骤S410,根据预先设置的建表语句和取数处理结果生成目标表。
具体地,根据针对所述目标表预先设置的建表语句,以及所述取数SQL的处理结果,可以在目标数据库中自动建立所述目标表。
本实施例提供的Hive建表方法,可以实现代码自动化,根据预先设置的通用取数规则以及针对目标表设置的字段和取数源表、配置的处理方式及相关参数、码表,自动生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到目标表各个字段的数据,从而根据建表语句和处理结果自动建立所述目标表,减少手工处理工作量,提升处理效率,减小Hive建表的开发难度。
如图5所示,是本发明Hive建表方法的第二实施例的流程示意图。本实施例中,所述Hive建表方法的步骤S500-S508、S512与第一实施例的步骤S400-S410相类似,区别在于该方法还包括步骤S510。
该方法包括以下步骤:
步骤S500,设置通用取数规则,即各种SQL逻辑处理方式及相关函数等。
具体地,在Hive建表开发过程中,需要将多个Excel表格的多个字段聚合起来,根据建表语句和取数SQL生成新的目标表。针对该建表过程的取数SQL,可以预先设置通用的取数规则,以在每次取数时从所述通用的取数规则中查询合适的规则并使用。
所述通用取数规则包括各种SQL逻辑处理方式及相关函数。所述SQL逻辑处理方式包括将某字段的数据编码转化为名称(TRANSFER)、直接复制字段值(COPY)、赋默认值(SetValue)、给空值(SetNull)、关联参数表(LookUp)等。
步骤S502,设置目标表所需的字段和各字段对应的取数源表。
具体地,当需要建立某个目标表时,设置该目标表所需要聚合的字段和各个字段所对应的取数源表,即每个字段的数据分别从哪个源表中获取。所设置的内容包括源表字段名称、对应的取数源表表名以及该取数源表所在的数据库。例如,设置所需的字段包括status、policy_no、agent_code等,对应的取数源表为数据库cx_ods_safe中保存的源表ply_base_info。另外,还需要设置所述目标表的表名、建立所述目标表的目标数据库、所述目标表中的字段名称以及目标表的字段与取数源表的字段之间的对应关系。
步骤S504,从所述取数源表获取所需字段的数据。
具体地,当设置完所需字段和取数源表后,可以直接从所述取数源表中获取相应字段的数据,用来进行后续处理后聚合生成所述目标表。例如,从上述源表ply_base_info中获取status、policy_no、agent_code等字段的数据。
步骤S506,设置当前目标表所需的SQL逻辑处理方式及相关参数、码表。
具体地,针对所述目标表的每个字段,还需要根据所述通用取数规则配置对应的处理方式以及该处理方式可能需要的参数和码表(关联参数表)等。
例如,针对status字段,处理方式为编码转化为名称(TRANSFER),对应的名称参数包括“01:已承保,02:注销,03:退保”,处理函数为“case status when'01'then'已承保'when'02'then'注销'when'03'then'退保'else status end”,即当源表中status字段的值为“01”时,将其转换为“已承保”;当源表中status字段的值为“02”时,将其转换为“注销”;当源表中status字段的值为“03”时,将其转换为“退保”。
针对policy_no字段,处理方式包括直接复制字段值(COPY)、赋默认值(SetValue)、给空值(SetNull)三种,其中直接复制字段值为将源表中该policy_no字段的值直接复制到目标表policy_no字段中;赋默认值为将源表中该policy_no字段的值在目标表valid_state字段中赋为“TRUE”;给空值为将源表中该policy_no字段的值在目标表plan_code字段中赋为空,也就是NULL。
针对agent_code字段,处理方式为关联参数表(LookUp),对应的参数为“table(cx_ods_safe.agent_define),join(left join),joincolumn(code),column(name)”,处理函数为“select b.name from agent_define b where a.agent_code=b.code”。
步骤S508,按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应处理,得到取数处理结果。
具体地,按照所配置的处理方式以及所需的参数、码表,可以生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到目标表各个字段的数据。例如,源表中status字段的数据经上述处理后,生成目标表status_name字段的数据;源表中policy_no字段的数据经上述处理后,分别生成目标表policy_no字段、valid_state字段和plan_code字段的数据;源表中agent_code字段的数据经上述处理后,生成目标表agent_name字段的数据。
步骤S510,通过编辑mapping文件的宏,自动生成所述目标表的建表脚本。
具体地,通过编辑mapping文件的宏,即通过Excel编辑VBA代码并通过调用宏来实现预定功能,自动生成一张或多张Hive表的HQL建表脚本。
例如,生成HQL建表脚本的具体步骤可以包括:
(1)在D盘下新建文件夹,名称为DDL;
(2)修改附件Excel内容,按照格式粘贴;
(3)全部粘贴好后,通过“视图->宏->查看宏->编辑”打开宏内容;
(4)修改宏内容:根据分区表和顺序表的不同,修改好宏内容后,保存修改内容并运行;
(5)最终生成脚本在D:\DDL。
步骤S512,根据所生成的建表脚本和取数处理结果生成所述目标表。
具体地,根据针对所述目标表所生成的建表脚本,以及所述取数SQL的处理结果,可以在目标数据库中自动建立所述目标表。
本实施例提供的Hive建表方法,可以实现代码自动化,根据预先设置的通用取数规则以及针对目标表设置的字段和取数源表、配置的处理方式及相关参数、码表,自动生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到目标表各个字段的数据,从而根据建表语句和处理结果自动建立所述目标表,减少手工处理工作量,提升处理效率,减小Hive建表的开发难度。另外,还可以自动化生成所述目标表的建表脚本,节省时间,大大提高建表开发的工作效率。
本发明还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有Hive建表程序,所述Hive建表程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的Hive建表方法的步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种Hive建表方法,其特征在于,所述方法包括步骤:
设置通用取数规则,包括各种SQL逻辑处理方式及相关函数;
设置目标表所需的字段和各字段对应的取数源表;
从所述取数源表获取所需字段的数据;
根据所述通用取数规则配置所述目标表所需的SQL逻辑处理方式及相关参数、码表;
按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应取数处理,得到取数处理结果;及
根据预先设置的建表语句和取数处理结果生成所述目标表;
其中,所述SQL逻辑处理方式包括将一个字段的数据编码转化为名称、直接复制字段值、赋默认值、给空值、关联参数表;
所述设置目标表所需的字段和各字段对应的取数源表的步骤包括:设置取数源表字段名称、对应的取数源表表名、所述取数源表所在的数据库和所述目标表的表名、建立所述目标表的目标数据库、所述目标表中的字段名称以及所述目标表的字段与所述取数源表的字段之间的对应关系;
所述按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应取数处理的步骤包括:按照所配置的处理方式以及所需的参数、码表,生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到所述目标表各个对应字段的数据。
2.如权利要求1所述的Hive建表方法,其特征在于,该方法还包括步骤:
通过编辑mapping文件的宏,自动生成所述目标表的建表脚本。
3.一种电子装置,其特征在于,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的Hive建表系统,所述Hive建表系统被所述处理器执行时实现如下步骤:
设置通用取数规则,包括各种SQL逻辑处理方式及相关函数;
设置目标表所需的字段和各字段对应的取数源表;
从所述取数源表获取所需字段的数据;
根据所述通用取数规则配置所述目标表所需的SQL逻辑处理方式及相关参数、码表;
按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应取数处理,得到取数处理结果;及
根据预先设置的建表语句和取数处理结果生成所述目标表;
其中,所述SQL逻辑处理方式包括将一个字段的数据编码转化为名称、直接复制字段值、赋默认值、给空值、关联参数表;
所述设置目标表所需的字段和各字段对应的取数源表的步骤包括:设置取数源表字段名称、对应的取数源表表名、所述取数源表所在的数据库和所述目标表的表名、建立所述目标表的目标数据库、所述目标表中的字段名称以及所述目标表的字段与所述取数源表的字段之间的对应关系;
所述按所配置的SQL逻辑处理方式和参数、码表,对所获取的字段的数据进行相应取数处理的步骤包括:按照所配置的处理方式以及所需的参数、码表,生成对应的取数SQL,对从所述取数源表获取的所需字段的数据进行处理,得到所述目标表各个对应字段的数据。
4.如权利要求3所述的电子装置,其特征在于,所述Hive建表系统被所述处理器执行时还实现步骤:
通过编辑mapping文件的宏,自动生成所述目标表的建表脚本。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有Hive建表程序,所述Hive建表程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-2中任一项所述的Hive建表方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910762870.5A CN110647564B (zh) | 2019-08-14 | 2019-08-14 | Hive建表方法、电子装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910762870.5A CN110647564B (zh) | 2019-08-14 | 2019-08-14 | Hive建表方法、电子装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110647564A CN110647564A (zh) | 2020-01-03 |
CN110647564B true CN110647564B (zh) | 2023-11-24 |
Family
ID=68990245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910762870.5A Active CN110647564B (zh) | 2019-08-14 | 2019-08-14 | Hive建表方法、电子装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647564B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767346B (zh) * | 2020-07-02 | 2024-08-13 | 深圳新贝奥数字科技有限公司 | 一种数据库的数据同步方法、装置、设备及存储介质 |
CN112632072B (zh) * | 2020-12-24 | 2023-04-07 | 浪潮软件科技有限公司 | 基于vb生成c格式nr数据库表信息的方法及装置 |
CN113590445A (zh) * | 2021-07-30 | 2021-11-02 | 杭州玳数科技有限公司 | 数据处理任务运行的检测方法、计算机设备和存储介质 |
CN114385640A (zh) * | 2022-01-14 | 2022-04-22 | 平安普惠企业管理有限公司 | 业务数据处理方法、系统、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2437008A1 (en) * | 2003-08-12 | 2005-02-12 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for data migration between databases |
CN103425762A (zh) * | 2013-08-05 | 2013-12-04 | 南京邮电大学 | 基于Hadoop平台的电信运营商海量数据处理方法 |
CN105069033A (zh) * | 2015-07-22 | 2015-11-18 | 北京京东尚科信息技术有限公司 | 一种创建数据库表模型的方法及装置 |
CA2973356A1 (en) * | 2015-01-08 | 2016-07-14 | BlueTalon, Inc. | Distributed storage and distributed processing query statement reconstruction in accordance with a policy |
CN107545044A (zh) * | 2017-08-15 | 2018-01-05 | 北京微影时代科技有限公司 | 一种数据表建立方法、电子设备及存储介质 |
CN108536745A (zh) * | 2018-02-24 | 2018-09-14 | 平安科技(深圳)有限公司 | 基于Shell的数据表提取方法、终端、设备及存储介质 |
CN109739894A (zh) * | 2019-01-04 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 补充元数据描述的方法、装置、设备及存储介质 |
-
2019
- 2019-08-14 CN CN201910762870.5A patent/CN110647564B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2437008A1 (en) * | 2003-08-12 | 2005-02-12 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for data migration between databases |
CN103425762A (zh) * | 2013-08-05 | 2013-12-04 | 南京邮电大学 | 基于Hadoop平台的电信运营商海量数据处理方法 |
CA2973356A1 (en) * | 2015-01-08 | 2016-07-14 | BlueTalon, Inc. | Distributed storage and distributed processing query statement reconstruction in accordance with a policy |
CN105069033A (zh) * | 2015-07-22 | 2015-11-18 | 北京京东尚科信息技术有限公司 | 一种创建数据库表模型的方法及装置 |
CN107545044A (zh) * | 2017-08-15 | 2018-01-05 | 北京微影时代科技有限公司 | 一种数据表建立方法、电子设备及存储介质 |
CN108536745A (zh) * | 2018-02-24 | 2018-09-14 | 平安科技(深圳)有限公司 | 基于Shell的数据表提取方法、终端、设备及存储介质 |
CN109739894A (zh) * | 2019-01-04 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 补充元数据描述的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110647564A (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647564B (zh) | Hive建表方法、电子装置及计算机可读存储介质 | |
CN108519967B (zh) | 图表可视化方法、装置、终端和存储介质 | |
CN109783555B (zh) | 表单模板存储方法、装置、存储介质及电子设备 | |
CN110647316B (zh) | 通用业务对象的生成方法、装置、计算机设备及存储介质 | |
CN112765023B (zh) | 测试用例生成方法、装置 | |
CN111414391A (zh) | 一种访问多数据源的方法及系统 | |
CN109582458A (zh) | 资源信息加载方法、装置、存储介质及处理器 | |
WO2021057064A1 (zh) | 基于人工智能的数据交互转换方法、装置、设备及介质 | |
CN110955715A (zh) | Erp系统和目标平台的数据转换方法、装置以及电子设备 | |
CN113434482A (zh) | 数据迁移方法、装置、计算机设备及存储介质 | |
CN102915344B (zh) | 一种sql语句处理方法及装置 | |
CN110989999A (zh) | 代码生成方法、装置、电子设备及介质 | |
US8082528B2 (en) | Process-independent schema library | |
CN109697234B (zh) | 实体的多属性信息查询方法、装置、服务器和介质 | |
CN111797413A (zh) | Bim模型的修改方法、装置、设备及计算机可读存储介质 | |
CN116204554A (zh) | 数据处理方法、系统、电子设备和存储介质 | |
CN111695124A (zh) | 权限控制方法和装置、存储介质和电子设备 | |
CN111737784A (zh) | 基于数字化三维的zxmp s385子架的板卡选型配置方法及设备 | |
CN113326034A (zh) | 策略实现的调用方法及装置、电子设备、存储介质 | |
CN118175045B (zh) | 物联网的物模型确定方法、装置及电子设备 | |
CN115203176B (zh) | 数据库操作方法、装置、设备、存储介质和程序产品 | |
CN117453151B (zh) | Nor-flash驱动开发方法、装置与计算机设备 | |
CN113742171B (zh) | 一种容器的gpu进程统计方法和装置 | |
CN115543485B (zh) | 一种数据转换配置生成方法、装置、计算机设备及介质 | |
CN112347160B (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 |