CN113741970B - 数据仓库生产环境和开发环境分离实现方法和装置 - Google Patents
数据仓库生产环境和开发环境分离实现方法和装置 Download PDFInfo
- Publication number
- CN113741970B CN113741970B CN202110910854.3A CN202110910854A CN113741970B CN 113741970 B CN113741970 B CN 113741970B CN 202110910854 A CN202110910854 A CN 202110910854A CN 113741970 B CN113741970 B CN 113741970B
- Authority
- CN
- China
- Prior art keywords
- environment
- development
- data
- production
- production environment
- 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
- 238000011161 development Methods 0.000 title claims abstract description 209
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 154
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000000926 separation method Methods 0.000 title claims abstract description 32
- 238000012360 testing method Methods 0.000 claims abstract description 31
- 230000001360 synchronised effect Effects 0.000 claims description 14
- 239000010410 layer Substances 0.000 description 47
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 238000002360 preparation method Methods 0.000 description 10
- 238000013515 script Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000000889 atomisation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000379 polymerizing effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000002344 surface layer Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Abstract
本发明实施例涉及数据仓库技术领域,公开了一种数据仓库生产环境和开发环境分离实现方法和装置。该方法包括:在同一Hadoop架构中创建第一Hive和第二Hive,分别用于创建开发环境和生产环境;基于任务在开发环境中完成开发,形成相关开发文件;在开发环境中基于真实的生产数据对相关开发文件进行测试,测试完成后,将相关开发文件上传至Git服务器,并提交上线请求;接收上线请求,将相关开发文件下载到生产环境中,用于调度生产数据。实施本发明实施例,一方面实现了开发环境和生产环境的数据物理分离,另一方面由于开发环境和生产环境共用同一Hadoop架构资源,可以节约机器成本。
Description
技术领域
本发明涉及数据仓库技术领域,具体涉及一种数据仓库生产环境和开发环境分离实现方法和装置。
背景技术
数据开发过程中,一般都会用到开发环境、测试环境和生产环境,其中,开发环境主要根据开发任务开发完成相应的代码,以及调度配置文件,构成开发环境下基于开发任务的相关开发文件,测试环境主要是对开发完成的相关开发文件的功能和数据准确性进行测试,测试完成后,则由生产环境下载这些相关开发文件,用于数据的调用以及处理等。
现有的开发环境和生产环境为独立运营,二者分别占用不同的机器资源,例如均可以在Hadoop架构下使用Hive工具进行创建,这种方式极大增加了机器成本。而且,开发环境和测试环境使用的数据多为测试数据,这些数据虽然可以完成相关开发文件的开发和测试,但是与真实数据相比,其可能存在不全面,导致在实际应用中,出现bug等问题,对开发人员不友好,而且,用户体验也可能很差。
发明内容
针对所述缺陷,本发明实施例公开了一种数据仓库生产环境和开发环境分离实现方法和装置,其使用同一Hadoop架构资源搭建生产环境和开发环境,在增加环境的情况下,不会增加机器成本。
本发明实施例第一方面公开一种数据仓库生产环境和开发环境分离实现方法,其包括:
在同一Hadoop架构中创建第一Hive和第二Hive,分别用于创建开发环境和生产环境;
基于任务在开发环境中完成开发,形成相关开发文件;
在所述开发环境中基于真实的生产数据对所述相关开发文件进行测试,测试完成后,将所述相关开发文件上传至Git服务器,并提交上线请求;
接收上线请求,将所述相关开发文件下载到所述生产环境中,用于调度生产数据。
作为较佳的实施例,在本发明实施例的第一方面中,所述开发环境和生产环境动态占用Hadoop资源。
作为较佳的实施例,在本发明实施例的第一方面中,基于预设时间和预设比例动态调整所述开发环境和生产环境占用Hadoop资源的比例。
作为较佳的实施例,在本发明实施例的第一方面中,所述生产环境和开发环境的Hive数据同步;
在开发环境中,当有新表上线时,将所述新表数据同步至生产环境中;
在生产环境中,当出现日常调度时,将所述日常调度导致生产环境变化的数据同步至所述开发环境中。
作为较佳的实施例,在本发明实施例的第一方面中,所述开发环境对开发人员开放,所述生产环境仅对管理员开放。
本发明实施例第二方面公开一种数据仓库生产环境和开发环境分离实现装置,包括:
创建单元,用于在同一Hadoop架构中创建第一Hive和第二Hive,分别用于创建开发环境和生产环境;
开发单元,用于基于任务在开发环境中完成开发,形成相关开发文件;
测试单元,用于在所述开发环境中基于真实的生产数据对所述相关开发文件进行测试,测试完成后,将所述相关开发文件上传至Git服务器,并提交上线请求;
生产单元,用于接收上线请求,将所述相关开发文件下载到所述生产环境中,用于调度生产数据。
作为较佳的实施例,在本发明实施例的第二方面中,所述开发环境和生产环境动态占用Hadoop资源。
作为较佳的实施例,在本发明实施例的第二方面中,基于预设时间和预设比例动态调整所述开发环境和生产环境占用Hadoop资源的比例。
作为较佳的实施例,在本发明实施例的第二方面中,所述生产环境和开发环境的Hive数据同步;
在开发环境中,当有新表上线时,将所述新表数据同步至生产环境中;
在生产环境中,当出现日常调度时,将所述日常调度导致生产环境变化的数据同步至所述开发环境中。
作为较佳的实施例,在本发明实施例的第二方面中,所述开发环境对开发人员开放,所述生产环境仅对管理员开放。
本发明实施例第三方面公开一种电子设备,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行本发明实施例第一方面公开的一种数据仓库生产环境和开发环境分离实现方法。
本发明实施例第四方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本发明实施例第一方面公开的一种数据仓库生产环境和开发环境分离实现方法。
本发明实施例第五方面公开一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本发明实施例第一方面公开的一种数据仓库生产环境和开发环境分离实现方法。
本发明实施例第六方面公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本发明实施例第一方面公开的一种数据仓库生产环境和开发环境分离实现方法。
与现有技术相比,本发明实施例具有以下有益效果:
1、通过第一Hive和第二Hive分别在同一Hadoop架构资源中创建开发环境和生产环境,一方面实现了开发环境和生产环境的数据物理分离,另一方面由于开发环境和生产环境共用同一Hadoop架构资源,可以节约机器成本;
2、开发环境使用真实的数据,其与生产环境的数据同步,从而有利于相关开发文件的开发和测试,对开发人员友好。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人体来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种数据仓库生产环境和开发环境分离实现方法的流程示意图;
图2是本发明实施例公开的生产环境和开发环境的搭建原理图;
图3是本发明实施例公开的生产环境和开发环境的数据同步示意图;
图4是本发明实施例公开的数据仓库开发的流程示意图;
图5是本发明实施例公开的生产环境和开发环境的数据流向示意图;
图6是本发明实施例公开的数据仓库的关系示意图;
图7是本发明实施例公开的拉链表的示意图;
图8是本发明实施例公开的流程规范化的ETL的脚本模板示意图;
图9是本发明实施例公开的一种数据仓库生产环境和开发环境分离实现装置的结构示意图;
图10是本发明实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人体在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,示例性地,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例公开了一种数据仓库生产环境和开发环境分离实现方法和装置,其通过第一Hive和第二Hive分别在同一Hadoop架构资源中创建开发环境和生产环境,实现了开发环境和生产环境的数据物理分离的同时,还可以节约机器成本,以下结合附图进行详细描述。
实施例一
请参阅图1,图1是本发明实施例公开的一种数据仓库生产环境和开发环境分离实现方法的流程示意图。如图1所示,该数据仓库生产环境和开发环境分离实现方法包括以下步骤:
S110、在同一Hadoop架构中创建第一Hive和第二Hive,分别用于创建开发环境和生产环境。
在同一Hadoop架构资源中创建开发环境和生产环境,可以节约机器成本,二者共享同一Hadoop架构资源。开发环境和生产环境均可以通过Hive工具实现创建,在本发明较佳的实施例中,使用在同一Hadoop架构顶层创建的第一Hive和第二Hive,分别创建开发环境和生产环境,则可以保证开发环境和生产环境的数据物理隔离。
如图2所示,开发环境和生产环境的Hive数据均存储于Hadoop架构底层的HDFS(分布式文件系统)中,二者之间物理隔离,将存储开发环境的Hive数据的部分称为开发集群,将存储生产环境的Hive数据的部分称为生产集群,数据仓库位于该生产集群中,通过Hadoop架构的中间层(例如YARN),可以对开发环境和生产环境的资源及数据进行管理。
开发环境和生产环境共享同一Hadoop架构资源,则需要对二者的资源配比进行设置,示例性地,可以固定设置二者占据Hadoop架构资源,例如,均为50%。但是这种方式例如出现开发任务重,且生产任务较少,资源的分配不合理。
在本发明较佳的实施例中,可以根据预设时间和预设比例对开发环境和生产环境占用Hadoop架构资源的比例进行设置,例如,在00:00-06:59时间段,开发任务较少,而生产任务较重,则可以将生产环境、开发环境资源比设定为70%、30%,在07:00-23:59,开发任务较重,而生产任务较少,则可以将生产环境、开发环境资源比为30%、70%。当然,在其他的一些实施例中,还可以根据具体情况设定某具体日期的具体时间段二者的占比。
S120、基于任务在开发环境中完成开发,形成相关开发文件。
在本发明中,开发环境对开发人员开放,所述生产环境仅对管理员开放。
当出现开发任务时,在开发环境中完成任务开发,请参照图4所示,开发环境抽取加载任务配置,基于该任务配置在开发任务机中完成相关代码的编写,例如SQL脚本等,同时,开发环境调度配置文件,得到相关开发文件,即相关开发文件包括相关代码和配置文件。
S130、在所述开发环境中基于真实的生产数据对所述相关开发文件进行测试,测试完成后,将所述相关开发文件上传至Git服务器,并提交上线请求。
开发环境集成测试环境,对相关开发文件进行测试,测试内容包括但不限于功能测试以及数据准确性测试,判断是否存在逻辑问题或格式问题等,请参照图4所示,如果存在问题,则在开发环境中对相关开发文件进行修改,如果不存在问题,则将相关开发文件上传至Git服务器中,并提交上线请求。
在本发明较佳的实施例中,测试时使用的数据为真实数据,包括在开发阶段使用的数据也均为真实数据。请参照图5所示,开发集群与生产集群类似,均可以通过MySQL设置业务从库,实时采集MySQL的binlog的日志(二进制文件)到Kafka的topic中,然后解析Kafka日志中的binlog的日志,并把binlog的日志以具体topic为单位,映射到Hive的表(对于开发环境,为开发环境的Hive数据表,对于生产环境,为生产环境的Hive数据表)中。这种情况下,可以使得开发人员使用真实数据完成相关开发文件的开发,从而提升对开发人员的友好度,而且也能保证相关开发文件的准确性。
在本发明较佳的实施例中,开发环境还与生产环境的数据同步,具体地请参照图3所示,当开发环境中有新开发的新表上线时(经过测试),将开发环境的新表同步到生产环境中,例如将新表数据覆盖插入到生产环境中,在日常调度中,也可以将生产环境发生变化的数据覆盖插入到开发环境中。
S140、接收上线请求,将所述相关开发文件下载到所述生产环境中,用于调度生产数据。
请参照图4所示,在接收到上线请求时,先对相关开发文件是否满足数据仓库规范进行判断,从而可以规范各环境的操作流程,确保遵守开发规范。
当相关开发文件满足数据仓库规范时,则可以将相关开发文件下载到所述生产环境中,用于调度生产数据,当相关开发文件不满足数据仓库规范时,则在开发环境中对相关开发文件进行修改。
请参照图5和6所示,数据仓库设置于生产环境的生产集群中。在生产集群构建数据仓库,对所述数据仓库进行分层,在所述数据仓库的各层中分步完成对数据的ETL操作,所述数据仓库设置6个逻辑层级,分别为数据准备层(ODS)、数据明细层(DWD)、数据汇总层(DWS)、数据集市层(DM)、数据应用层(ADS)以及维度表层(DIM)。
对数据仓库进行分层,可根据业务复杂度进行,在业务复杂度较低时,分层数可适当减少,在业务复杂度较高时,可适当增加层数。在本发明较佳的实施例中,示出了将数据仓库分为6层的结构,后续随着业务复杂性增大,可以增加层级,对数据仓库的分层可以通过Hive的库名分割层级表(例如ODS库存放ODS层及相应的表等)完成,例如,当表名为dws.dws_user_behavior_ds,则其属于就数据明细层。
可以通过数据准备层获取业务系统的相关数据,所述数据准备层的物理模型与业务系统模型一致。
数据准备层的数据来源为各业务系统的源数据、日志以及爬虫数据等,称之为基础数据,根据具体的业务类型及业务需要进行配置,其为数据仓库的其他逻辑层提供基础数据。
可以理解的是,数据准备层的物理模型与业务系统模型一致,从而保证了数据的针对性和准确性。
作为一种示例,在本发明较佳的实施例中,通过MySQL设置业务从库,实时采集MySQL的binlog的日志(二进制文件)到Kafka的topic中,然后解析Kafka日志中的binlog的日志,并把binlog的日志以具体topic为单位,映射到Hive的表中,具体是ODS层的表中。ODS层的表和topic一一对应,保证数据映射的速度和准确。数据准备层的数据抽取过程中,不对这些数据进行清洗或/和转换,使得ETL过程原子化,分步执行各种操作。
可以通过数据明细层对数据准备层获取的增量数据进行融合,生成原始全量数据,根据需要做成拉链表。
数据明细层主要为数据仓库提供各主体业务的明细数据以及拉链表数据,是数仓明细事实层。其数据来自数据准备层的基础数据,其仅将数据准备层的增量数据与数据明细层存储的相关数据进行merge(融合)生成全量数据,在该逻辑层中,也不对数据进行清洗或/和转换,仅保留原始全量数据,并根据需要做成拉链表。
拉链表是用于维护历史状态,以及最新状态数据的一种表。在本发明较佳的实施例中,拉链表记录了每条信息的生命周期,这些信息也包括物理删除的数据,在每次制作拉链表时,仅记录发生变化的数据,对于未变化的数据,不再重复记录,从而可节省存储空间。
因此,在数据明细层中,通过拉链表保存数据和变化数据,一方面可节省大量存储空间,另一方面也提高处理速度。
作为一种示例,在本发明较佳的实施例中,对拉链表进行规范化,请参照图7所示,具体是:采用统一的命名方式:拉链表的表名要带有his标志,如dwd.dwd_oms_oms_order_his_ds;使用dwd_start_date表示某数据的有效开始时间,使用dwd_end_date表示某数据的有效结束时间,使用ygpdw_active表示在数仓中该条数据是否有效。
例如图7中的dwd_end_date=date('9999-12-31')表示此条数据为最新数据;
dwd_end_date=date('yyyy-mm-dd')表示此条数据在yyyy-mm-dd有效,如dwd_end_date=date('2021-01-24')表示此条数据在2021-01-24及之前有效;如果ygpdw_active=0,则表示此条数据已经物理删除,如果ygpdw_active=1,则表示此条数据为有效数据。
可以通过数据汇总层对所述原始全量数据进行清洗和转换,汇总聚合成数据汇总层数据。
数据汇总层用于为数仓提供的各种统计提供初步宽边,称为小款表,其数据来源于数据明细层。在数据汇总层中,对来自数据明细层的原始全量数据进行轻度清洗和转换,汇总聚合生成DWS层数据,数据清洗主要是对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性;数据转换例如可以是字段的合并,包括但不限于EMAIL、证件号、日期、手机号的转换或合并,以及一些常用的指标构造实现数据的清洗或转换。
可以通过数据集市层将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实进行拉宽形成宽表。
数据集市层是将所述原始全量数据和数据汇总层数据进行粗粒度聚合,按照业务需求对事实表进行拉宽形成宽表,业务需求可以是例如数据挖掘、自定义查询、用户画像、推荐系统、应用集市等,通过业务需求类型对事实数据进行相应的拉宽,即形成相对应的自定义宽表。
可以通过数据应用层对所述原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总,以获取业务需要的事实数据。
数据应用层是按照一定的维度,例如年、月、天、时等对原始全量数据、数据汇总层数据以及宽表进行粗粒度聚合汇总生成业务需要的事实数据,用于前端的报表呈现、主题分析以及KPI报表等。
通过数据应用层将所述事实数据同步至其他服务库。
请参照图6所示,作为数据出口,在接收到数据请求时,数据应用层将对应的事实数据同步到与请求相关联的其他服务库中,从而生成相应的BI报表或者其他应用的呈现形式。
数据仓库中的DIM库即维度库中的每个维度表包含了事实表中指定属性的相关详细信息,例如时间维度、地域维度、存储信息等。
在本发明较佳的实施例中,除ETL的原子化(分解分步实现)外,还对ETL的流程进行规范化,具体请参照图8所示,其包括:设置SQL脚本模板,每个SQL脚本对应一个表SQL脚本的脚本名即表名;在SQL脚本模板中,使用INPUT_TABLE表示依赖表,OUTPUT_TABLE表示结果表,每个SQL脚本的注释中必带建表语句。
ETL原子化(分解分步实现)和流程规范化相结合,使得ETL过程拆解为E、T、L过程,以表为最小单位,统一作业执行、调度步骤。
实施例二
请参阅图9,图9是本发明实施例公开的另一种数据仓库生产环境和开发环境分离实现装置的结构示意图。如图9所示,该数据仓库生产环境和开发环境分离实现装置,可以包括:
创建单元210,用于在同一Hadoop架构中创建第一Hive和第二Hive,分别用于创建开发环境和生产环境;
开发单元220,基于任务在开发环境中完成开发,形成相关开发文件;
测试单元230,用于在所述开发环境中基于真实的生产数据对所述相关开发文件进行测试,测试完成后,将所述相关开发文件上传至Git服务器,并提交上线请求;
生产单元240,用于接收上线请求,将所述相关开发文件下载到所述生产环境中,用于调度生产数据。
优选地,所述开发环境和生产环境动态占用Hadoop资源。
优选地,基于预设时间和预设比例动态调整所述开发环境和生产环境占用Hadoop资源的比例。
优选地,所述生产环境和开发环境的Hive数据同步;
在开发环境中,当有新表上线时,将所述新表数据同步至生产环境中;
在生产环境中,当出现日常调度时,将所述日常调度导致生产环境变化的数据同步至所述开发环境中。
优选地,所述开发环境对开发人员开放,所述生产环境仅对管理员开放。
实施例三
请参阅图10,图10是本发明实施例公开的一种电子设备的结构示意图。如图10所示,该电子设备可以包括:
存储有可执行程序代码的存储器310;
与存储器310耦合的处理器320;
其中,处理器320调用存储器310中存储的可执行程序代码,执行实施例一中的一种数据仓库生产环境和开发环境分离实现方法中的部分或全部步骤。
本发明实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行实施例一中的一种数据仓库生产环境和开发环境分离实现方法中的部分或全部步骤。
本发明实施例还公开一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的一种数据仓库生产环境和开发环境分离实现方法中的部分或全部步骤。
本发明实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的一种数据仓库生产环境和开发环境分离实现方法中的部分或全部步骤。
在本发明的各种实施例中,应理解,所述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例所述方法的部分或全部步骤。
在本发明所提供的实施例中,应理解,“与A对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。
本领域普通技术人体可以理解所述实施例的各种方法中的部分或全部步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本发明实施例公开的一种数据仓库生产环境和开发环境分离实现方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人体,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种数据仓库生产环境和开发环境分离实现方法,其特征在于,包括:
在同一Hadoop架构中创建第一Hive和第二Hive,分别用于创建开发环境和生产环境;
基于任务在开发环境中完成开发,形成相关开发文件;
在所述开发环境中基于真实的生产数据对所述相关开发文件进行测试,测试完成后,将所述相关开发文件上传至Git服务器,并提交上线请求;
接收上线请求,将所述相关开发文件下载到所述生产环境中,用于调度生产数据;
所述开发环境和生产环境动态占用Hadoop资源;
基于预设时间和预设比例动态调整所述开发环境和生产环境占用Hadoop资源的比例;
开发环境和生产环境的Hive数据均存储于Hadoop架构底层的HDFS中,二者之间物理隔离,将存储开发环境的Hive数据的部分称为开发集群,将存储生产环境的Hive数据的部分称为生产集群,数据仓库位于该生产集群中,通过Hadoop架构的中间层,对开发环境和生产环境的资源及数据进行管理。
2.根据权利要求1所述的数据仓库生产环境和开发环境分离实现方法,其特征在于,所述生产环境和开发环境的Hive数据同步;
在开发环境中,当有新表上线时,将所述新表数据同步至生产环境中;
在生产环境中,当出现日常调度时,将所述日常调度导致生产环境变化的数据同步至所述开发环境中。
3.根据权利要求1-2任一项所述的数据仓库生产环境和开发环境分离实现方法,其特征在于,所述开发环境对开发人员开放,所述生产环境仅对管理员开放。
4.一种数据仓库生产环境和开发环境分离实现装置,其特征在于,包括:
创建单元,用于在同一Hadoop架构中创建第一Hive和第二Hive,分别用于创建开发环境和生产环境;
开发单元,用于基于任务在开发环境中完成开发,形成相关开发文件;
测试单元,用于在所述开发环境中基于真实的生产数据对所述相关开发文件进行测试,测试完成后,将所述相关开发文件上传至Git服务器,并提交上线请求;
生产单元,用于接收上线请求,将所述相关开发文件下载到所述生产环境中,用于调度生产数据;
所述开发环境和生产环境动态占用Hadoop资源;
基于预设时间和预设比例动态调整所述开发环境和生产环境占用Hadoop资源的比例;
开发环境和生产环境的Hive数据均存储于Hadoop架构底层的HDFS中,二者之间物理隔离,将存储开发环境的Hive数据的部分称为开发集群,将存储生产环境的Hive数据的部分称为生产集群,数据仓库位于该生产集群中,通过Hadoop架构的中间层,对开发环境和生产环境的资源及数据进行管理。
5.根据权利要求4所述的数据仓库生产环境和开发环境分离实现装置,其特征在于,所述生产环境和开发环境的Hive数据同步;
在开发环境中,当有新表上线时,将所述新表数据同步至生产环境中;
在生产环境中,当出现日常调度时,将所述日常调度导致生产环境变化的数据同步至所述开发环境中。
6.根据权利要求4-5任一项所述的数据仓库生产环境和开发环境分离实现装置,其特征在于,所述开发环境对开发人员开放,所述生产环境仅对管理员开放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910854.3A CN113741970B (zh) | 2021-08-09 | 2021-08-09 | 数据仓库生产环境和开发环境分离实现方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910854.3A CN113741970B (zh) | 2021-08-09 | 2021-08-09 | 数据仓库生产环境和开发环境分离实现方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113741970A CN113741970A (zh) | 2021-12-03 |
CN113741970B true CN113741970B (zh) | 2024-02-02 |
Family
ID=78730462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110910854.3A Active CN113741970B (zh) | 2021-08-09 | 2021-08-09 | 数据仓库生产环境和开发环境分离实现方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741970B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104467A (zh) * | 2018-07-25 | 2018-12-28 | 北京京东尚科信息技术有限公司 | 开发环境构建方法、装置以及平台系统和存储介质 |
CN109901823A (zh) * | 2019-02-26 | 2019-06-18 | 中电科软件信息服务有限公司 | 基于云环境的交互式模型开发环境系统和方法 |
CN110019145A (zh) * | 2018-06-19 | 2019-07-16 | 杭州数澜科技有限公司 | 一种大数据平台的多环境级联的方法和装置 |
CN110347378A (zh) * | 2019-07-12 | 2019-10-18 | 北京明略软件系统有限公司 | 项目开发环境的搭建方法及装置 |
CN111078553A (zh) * | 2019-12-16 | 2020-04-28 | 南方电网数字电网研究院有限公司 | 数据开发任务测试方法、装置、计算机设备和存储介质 |
CN111966760A (zh) * | 2020-08-18 | 2020-11-20 | 中国银行股份有限公司 | 基于Hive数据仓库的测试数据生成方法及装置 |
CN112395196A (zh) * | 2020-11-18 | 2021-02-23 | 上海浦东发展银行股份有限公司 | 数据作业开发测试方法、装置、设备、系统及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201615747D0 (en) * | 2016-09-15 | 2016-11-02 | Gb Gas Holdings Ltd | System for data management in a large scale data repository |
-
2021
- 2021-08-09 CN CN202110910854.3A patent/CN113741970B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019145A (zh) * | 2018-06-19 | 2019-07-16 | 杭州数澜科技有限公司 | 一种大数据平台的多环境级联的方法和装置 |
CN109104467A (zh) * | 2018-07-25 | 2018-12-28 | 北京京东尚科信息技术有限公司 | 开发环境构建方法、装置以及平台系统和存储介质 |
CN109901823A (zh) * | 2019-02-26 | 2019-06-18 | 中电科软件信息服务有限公司 | 基于云环境的交互式模型开发环境系统和方法 |
CN110347378A (zh) * | 2019-07-12 | 2019-10-18 | 北京明略软件系统有限公司 | 项目开发环境的搭建方法及装置 |
CN111078553A (zh) * | 2019-12-16 | 2020-04-28 | 南方电网数字电网研究院有限公司 | 数据开发任务测试方法、装置、计算机设备和存储介质 |
CN111966760A (zh) * | 2020-08-18 | 2020-11-20 | 中国银行股份有限公司 | 基于Hive数据仓库的测试数据生成方法及装置 |
CN112395196A (zh) * | 2020-11-18 | 2021-02-23 | 上海浦东发展银行股份有限公司 | 数据作业开发测试方法、装置、设备、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113741970A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108573006B (zh) | 跨机房数据同步系统、方法及装置、电子设备 | |
CN107370786B (zh) | 一种基于微服务架构的通用信息管理系统 | |
CN101141754B (zh) | 一种增值业务分析系统及其方法 | |
CN107885709A (zh) | 一种报表生成方法、系统及存储介质 | |
CN112364094A (zh) | 数据仓库可视化建模方法、装置及介质 | |
CN107103064B (zh) | 数据统计方法及装置 | |
CN104954453A (zh) | 基于云计算的数据挖掘rest服务平台 | |
CN106445536B (zh) | 自动化业务设计管理系统 | |
CN111475490A (zh) | 一种数据目录体系的数据管理系统和方法 | |
CN112559475B (zh) | 数据实时捕获和传输方法及系统 | |
CN107870949B (zh) | 数据分析作业依赖关系生成方法和系统 | |
CN108540351B (zh) | 分布式大数据服务的自动化测试方法 | |
CN104504160A (zh) | 基于SSH框架的Excel文档在线批量写入方法 | |
CN110032594B (zh) | 可定制化的多源数据库的数据抽取方法、装置及存储介质 | |
US20230018975A1 (en) | Monolith database to distributed database transformation | |
CN111176613A (zh) | 基于体系结构模型的协同任务自动分解系统 | |
CN111913933B (zh) | 基于统一支撑平台的电网历史数据管理方法及系统 | |
CN114218218A (zh) | 基于数据仓库的数据处理方法、装置、设备及存储介质 | |
CN110705724A (zh) | 一种可重用自动化运维管理系统 | |
CN110198327B (zh) | 一种数据传输方法及相关设备 | |
CN113742325A (zh) | 数据仓库建设方法、装置、系统、电子设备及存储介质 | |
CN114416868B (zh) | 一种数据同步方法、装置、设备及存储介质 | |
US20100153919A1 (en) | Systems and methods for tracking software stands in a software production landscape | |
CN105550351B (zh) | 旅客行程数据即席查询系统及方法 | |
CN114661832A (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 |