CN117609358A - 一种基于配置化多数据源数据整合的分布式计算框架 - Google Patents
一种基于配置化多数据源数据整合的分布式计算框架 Download PDFInfo
- Publication number
- CN117609358A CN117609358A CN202311601962.8A CN202311601962A CN117609358A CN 117609358 A CN117609358 A CN 117609358A CN 202311601962 A CN202311601962 A CN 202311601962A CN 117609358 A CN117609358 A CN 117609358A
- Authority
- CN
- China
- Prior art keywords
- data
- distributed computing
- processing
- computing framework
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010354 integration Effects 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 238000003860 storage Methods 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 8
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 claims description 2
- 238000012552 review Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000007405 data analysis Methods 0.000 abstract description 4
- 238000007418 data mining Methods 0.000 abstract description 3
- 230000015654 memory Effects 0.000 description 24
- 238000011161 development Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000002546 full scan Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010921 in-depth analysis Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013024 troubleshooting 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/26—Visual data mining; Browsing structured data
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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
-
- 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/284—Relational databases
- G06F16/285—Clustering or classification
- G06F16/287—Visualization; Browsing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于配置化多数据源数据整合的分布式计算框架,涉及大数据技术领域,通过对不同数据库中的数据进行整合,采用分布式计算引擎进行数据计算,实现数据在不同格式、位置以及存储方式下的数据加工问题,达到数据处理和分析效率的提升。本发明既支持实时操作,又支持离线操作,能够将数据写回数据库或大数据平台,方便后续的分析。这种灵活性使用户可以根据需求在不同数据处理场景之间切换,并快速响应实时数据变化,并为后续的数据分析和挖掘提供了便利。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种基于配置化多数据源数据整合的分布式计算框架。
背景技术
随着数字化时代的到来和企业规模的不断扩大,对于数据的需求呈现出复杂化、大规模化的趋势,数据在企业运营中扮演越来越重要的角色,由于各种原因导致数据散落在各个数据库中,数据在不同的格式、位置以及存储方式下被分散保存,企业需要从各个渠道收集大量的数据,并将其转化为有意义的信息以供决策,这就为数据加工带来了十分困难的挑战。数据的失去、误报、泄露等问题也成为企业的头等大事,进一步增加了数据管理的难度。如何对数据进行高质量、稳健的收集、处理以及分析,已经成为了当今各行各业的共同需求。
尽管以上的技术方案已经在很大程度上实现了电力系统运行效率、可靠性和安全性的提升,但仍然存在诸多技术缺陷,至少包括如下几个突出的方面:1.数据集成困难:由于数据散落在不同的数据库和存储系统中,格式和位置各异,导致数据集成变得非常困难。这不仅需要大量的人力物力去进行数据的迁移和整合,而且也容易导致数据的不一致性和错误。2.数据处理和分析的效率低下:由于数据的规模化和复杂化,传统的数据处理和分析方法可能已经无法满足企业的需求。例如,可能需要更高级的数据处理技术,如机器学习和人工智能,来从大量数据中提取有价值的信息。3.数据开发成本灵活性低下:随着业务数据的增加,需要不同数据开发所对应的计算过程和环境会越来越多,相似的工程代码具有相似的框架结构,多次开发容易出现代码的冗余导致数据开发效率低下。
发明内容
本发明要解决的技术问题时针对现有技术的种种不足,提供一种基于配置化多数据源数据整合的分布式计算框架。
为解决上述技术问题,本发明所采取的技术方案如下。
基于配置化多数据源数据整合的分布式计算框架,通过对不同数据库中的数据进行整合,采用分布式计算引擎进行数据计算,实现数据在不同的格式、位置以及存储方式下的数据加工问题,达到数据处理和分析效率的提升。
作为本发明的一种优选技术方案,所述系统包括如下模块:所述计算框架包含如下架构组件:数据源接入层、配置整合层、分布式计算层、数据处理层、数据输出层。
作为本发明的一种优选技术方案,所述数据源接入层支持SQL配置,支持SQL语言包括数据关联、连接、汇总、变换和计算在内的各种数据操作,使用户在学习成本较低的情况下快速上手,提高了数据分析和挖掘效率。
作为本发明的一种优选技术方案,所述配置整合层提供统一的接口和配置方式,将这些不同数据源的数据整合在一起进行计算。
作为本发明的一种优选技术方案,所述分布式计算层通过SPARK集群进行数据加工,利用分布式计算的原理将任务划分成多个小任务,分配给不同的集群节点同时进行处理,并支持扩展Spark原生功能,在处理大量数据时极大提高效率。
作为本发明的一种优选技术方案,所述数据处理层可以同时进行流式和批量处理,支持数据的实时操作和离线操作,自动记录所有数据的日志情况,使用户可以随时回溯数据的历史记录,提高了分布式计算框架的可靠性和运维效率。
作为本发明的一种优选技术方案,所述数据处理层通过集成包括ApacheAirflow、Apache Oozie在内的作业调度系统,管理和维护数据处理流程,编排任务执行顺序,处理依赖关系。
作为本发明的一种优选技术方案,所述数据处理层包括数据清洗、数据转换、数据聚合在内的实现数据整合的核心逻辑,支持可插拔的数据处理模块,以便轻松添加或修改处理逻辑。
作为本发明的一种优选技术方案,所述数据输出层支持数据写回操作到不同类型的数据库或大数据平台,提供数据输出的配置化管理,通过配置文件动态选择输出目标和输出格式。
采用上述技术方案所产生的有益效果在于:本发明支持SQL配置和多种数据库及大数据平台,轻松操作数据并整合不同类型的数据源,用户可以直观地构建数据处理流程,节省开发时间和提高效率。同时,多种数据库和大数据平台的支持使用户能够操作不同数据源,并方便地将它们整合在一起进行计算和分析。利用Spark Cluster进行数据加工,提高数据处理速度和效率。同时本发明既支持实时操作,又支持离线操作,能够将数据写回数据库或大数据平台,方便后续的分析。这种灵活性使用户可以根据需求在不同数据处理场景之间切换,并快速响应实时数据变化,并为后续的数据分析和挖掘提供了便利。通过采用配置化开发,提升了开发效率、代码质量和可维护性。与此同时,本发明还提供了一套完善的数据处理工具和函数,使用户能够高效地进行数据处理和分析。
下文的实施例详细介绍了本发明各项技术细节的技术优势及其有益效果。
附图说明
图1是本发明一个具体实施方式的流程框图。
图2是本发明一个具体实施方式的数据处理方法流程框图。
图3为本发明配置型框架结构图。
具体实施方式
以下实施例详细说明了本发明。本发明所使用的各项设备均为常规市售产品,均能够通过市场购买直接获得。在以下实施例的描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
实施例1
参看附图1、2,基于配置化多数据源数据整合的分布式计算框架,包含如下架构组件:数据源接入层、配置整合层、分布式计算层、数据处理层、数据处理层、数据输出层,通过对不同数据库中的数据进行整合,采用分布式计算引擎进行数据计算,实现数据在不同的格式、位置以及存储方式下的数据加工问题,达到数据处理和分析效率的提升。具体流程如下:
步骤1:数据源接入层通过配置文件、参数适配和支持多种数据库和数据开发场景,使用数据源驱动和连接器对各种数据库进行连接。创建SparkSession,读取SQL作业所需要的配置文件,根据制定的Url、User、Driver以及Password找到制定的数据源,通过不同的配置信息支持多种不同类型的数据源,根据SQL配置文件中的信息找到相对应的数据源。
步骤2:配置整合层用于配置和管理数据源、作业、处理逻辑等,整合各种类型的数据源在计算框架中进行数据加工计算处理。使用Spark提供的适当的API连接到不同的数据源,根据不同的数据源类型,使用相应的连接器和驱动程序,基于自身需求选择适合的数据库,并通过配置不同数据库的连接信息、表结构和访问权限等关键配置,让分布式加工框架能够获取并加工各个数据库中的数据。
步骤3:分布式计算层将待处理的数据加载到SPARK中,通过SPARK集群进行数据加工,通过在Spark配置中设置spark.serializer属性进行配置,确保合理地设置并行度,以使集群上的所有计算资源都得到充分利用。SPARK支持多种数据源的读取,如Hadoop分布式文件系统、关系型数据库、实时数据流等。通过连接相应的数据源,可以将数据加载到SPARK的分布式内存中,使用SPARK提供的丰富的数据处理库和工具进行加工。例如,可以使用Spark SQL进行结构化的数据查询和转换操作,利用Spark Streaming进行实时数据流的处理,使用Spark MLlib进行机器学习和模型训练等。当具体的数据加工操作定义好后,SPARK集群会将任务划分为多个小任务,并将这些小任务分配给集群中的不同节点并行执行。每个节点独立地处理一部分数据,然后将处理结果传递给其他节点进行合并和汇总。这种并行计算方式可以充分利用集群中的多个计算资源,大幅提升数据加工的速度和效率。在整个数据加工过程中,SPARK集群具备高度的可扩展性和容错性,根据数据量和处理需求的增长,可以通过添加更多的集群节点来动态扩展处理能力。而且,SPARK集群通过数据的复制和分布式计算的机制,可以容忍节点故障,并且保证数据和任务的正确性,不会丢失已处理的数据。利用SPARK集群进行数据加工可以高效地处理大规模数据,并满足不同场景下的数据加工需求。
步骤4:数据处理层数据处理层包括数据清洗、数据转换、数据聚合在内的实现数据整合的核心逻辑,支持可插拔的数据处理模块,以便轻松添加或修改处理逻辑。通过集成包括Apache Airflow、Apache Oozie在内的作业调度系统,管理和维护数据处理流程,编排任务执行顺序,处理依赖关系。数据处理层能够同时支持实时操作和离线操作,使得分布式计算框架更加灵活和全面。在实时操作方面,框架能够接入实时的数据流,并应用实时数据处理算法对数据进行实时分析和处理,如滑动窗口、流式聚合和近似查询算法,可以实时计算统计指标、分析数据的瞬时变化情况等。同时支持离线操作,即对历史数据的批量处理和分析,对大规模数据集进行深度分析、建立复杂的机器学习模型等,可以对历史数据进行全面的挖掘和分析,从而获得更深入的洞察和预测能力。通过在Spark中“StructuredStreaming”结构化流式处理,自动记录数据日志情况,追踪数据处理的整个流程,并以日志形式记录各个步骤的输入、输出和运行状态。通过日志可进行故障排查、性能优化和数据质量保障。例如,当出现错误或异常时,可以根据日志追溯问题原因;当需要回溯数据处理过程时,可以借助日志还原数据的处理路径和结果;通过分析日志,可以对数据处理过程进行优化和改进。
步骤5:数据输出层使用SPARK集群转换和操作函数,以便对数据进行转换、过滤、聚合等操作,将数据缓存在Spark的Dataframe中,配置将DataFrame写入数据库的连接信息。
SPARK集群提供的接口将处理后的数据写入相应的数据存储系统,通过使用相应的驱动程序和API,可以将数据以适当的格式写入到指定的位置,方便后续的分析和查询操作。首先根据具体需求选择目标数据库或大数据平台,并准备好相应的连接信息。这可以包括数据库的Url地址、要写入的数据库表的名称、要使用的JDBC驱动程序类名、用户名和密码等信息,或者是大数据平台的URL地址和访问凭证等。在数据加工过程中,当需要将结果数据写回到目标数据库或大数据平台时,可以使用SPARK集群提供的相关API和驱动程序,根据目标数据库的类型,选择合适的API接口,如Spark SQL的JDBC或ODBC接口用于关系型数据库,或者Hadoop的HDFS接口用于大数据平台。通过配置相应的数据库连接信息和目标数据表的信息,在数据加工过程中将处理后的数据写入目标数据库,使用DataFrame的write方法将数据写入数据库,将连接信息设置为配置项,并使用save或JDBC方法进行写入操作。通过将处理后的数据重新写回到相关的数据库系统或大数据平台,可以方便地进行后续的数据分析。
实施例二
参看附图3,配置整合层用于配置和管理数据源、作业、处理逻辑等,通过具有灵活性和可扩展性的配置文件指定数据源的连接信息、查询语句和处理逻辑,并可以根据特定需求进行定制,具体包括以下模块:数据库账号配置模块、数据源配置参数读取模块、Spark内存表相关参数配置模块、数据写回参数配置模块、SQL执行顺序配置模块、传入参数配置模块。具体实现过程如下:
步骤1:撰写配置文件
一、数据库账号配置(application.conf)
配置数据库的账号,如url、user、password、driver等。
对于hadoop,可进行如下配置:
(1)krb_Cert_interval:krb认证间隔,单位(分钟),因kafka任务需要不断循环,spark需要定时认证,否则会导致认证超时。
(2)kafka_task_time:kafka任务最大执行时间,超过该时间任务自动结束,配合任务定时调度共同使用
(3)KerberosServiceName:kafka的krb认证名称
(4)ZookeeperServerPrincipal:监控kafka集群的zookeeper集群
(5)KerberosDomainName:kafkakrb认证的集群
(6)krb_user:中台的用户帐号
(7)log_table:程序执行写到DWS中的日志表名
二、数据源配置参数读取
1、关系型数据库:
(1)fun:该参数代表对数据执行何种操作,可以为read/exec/write,分别代表读取数据、关联数据、写入数据。此阶段为读取数据源数据阶段,因此应为read。
(2)source:该参数意为是何种数据源,根据需求可选择oracle、postsql、mysql等。
(3)ram_table:该参数意为将数据读取到哪张内存表。
(4)sql:具体sql内容。
2、Hive:
(1)fun:该参数代表对数据执行何种操作,可以为read/exec/write,分别代表读取数据、关联数据、写入数据。此阶段为读取数据源数据阶段,因此应为read。
(2)source:该参数意为是何种数据源,此处应为hive。
(3)ram_table:该参数意为将数据读取到哪张内存表。
(4)sql:具体sql内容。
3、Kafka:
(1)fun:该参数代表对数据执行何种操作,可以为read/write,分别代表读取数据、写入数据。此阶段为读取数据源数据阶段,因此应为read。
(2)Source:该参数意为是何种数据源,此处为kafka
(3)ram_table:该参数意为将数据读取到哪张内存表。
(4)kafka_bootstrap_servers:指定kafka的ip地址与端口号。
(5)kafka_group_id:指定kafka消费者组。
(6)sql:指定topic。
(7)kafka_properties:用于确定消费者启动时开始消费的位置,可以为latest,earlies。分别代表从最新的消息开始读取和从最早可用的消息开始消费。
(8)kafka_timeoutMs:配置kafka的消费周期,单位毫秒。
(9)encode:将数据从kafka读取出来后转换的格式,通常为json。
(10)jsonParse:指定json解析方式。“1”为通用格式,“2”为配变自动化格式.
(11)fields:指定读取数据后设置的字段名。
4、Hbase(根据具体需要可以选择以下四种不同读取方式):
按照rowkey和时长读取:
(1)fun:数据操作,可以为("read"/"exec"/"write"),此时为读取数据,应该选择"read"
(2)source:指定数据来源,此处为“hbase_rowkey”
(3)ram_table:注册的内存表名
(4)interval:时间间隔("5"代表取数据的时间间隔为5分钟)
(5)duration:数据时长("24"代表读取距当前时间历史24小时的所有数据)
(6)sql:读取的hbase表名
(7)field:hbase表字段
全表读取:
(1)fun:数据操作,可以为("read"/"exec"/"write"),此时为读取数据,应该选择"read"。
(2)source:数据来源,此处应为"hbase_fullscan"
(3)ram_table:注册的内存表名
(4)sql:读取的hbase表
(5)field:hbase表字段
游标读取:
(1)fun:数据操作,可以为("read"/"exec"/"write"),此时为读取数据,应该选择"read"。
(2)source:数据来源,此处应为"hbase_cursor"
(3)ram_table:注册的内存表名
(4)sql:读取的hbase表
(5)field:hbase表字段
(6)cursor_sql:内存表中需要与Hbase表中rowkey关联的字段,支持where条件过滤,sql结果仅需要一个字段,且需要重命名为rowkey。
按照时间戳读取:
(1)fun:数据操作,可以为("read"/"exec"/"write"),此时为读取数据,应该选择"read"。
(2)source:数据来源,此处应为"hbase_timestemp"
(3)ram_table:注册的内存表名
(4)sql:读取的hbase表
(5)fields:hbase表字段
(6)start_time:时间戳开始时间。
(7)end_time:时间戳结束时间。
三、Spark内存表相关参数配置
(1)fun:数据操作可以为"read"/"exec"/"write",此时为执行关联,应该选择"exec"
(2)ram_table:关联生成的注册的内存表名
(3)sql:内存表的数据关联操作
四、数据写回参数配置
(1)fun:数据操作可以为"read"/"exec"/"write",此时为数据写入,应该选择"write"
(2)source:数据写入的数据库,可选择"oracle"或""postsql"或MySQL
(3)ram_table:内存表表名
(4)target_table:写入的目标表
(5)method:写入的方式,可选择"append"或""overwrite"。
五、SQL执行顺序配置
CNTS为SQL执行顺序控制,令names="SQL1,SQL2,SQL3,SQL4",则执行步骤为SQL1->SQL2->SQL3->SQL4
6.传入参数配置模块
(1)user为Hadoop帐号
(2)krb5为用户krb5.conf文件路径
(3)keytab为user.keytab文件路径
(4)application_path为application.conf配置文件路径。
(5)sql_path为SQL配置文件路径。
(6)parameter_path为parameter.conf文件的路径
(7)table_log为1时,会在数据库的日志中增加读取的表中数据量信息。但是会让程序执行速度变慢一倍以上。若为0则不增加。
(8)if_kafka_true代表是否为kafka循环执行任务,1为是,其它值为否。当值为1时,该SQL配置中多个SQL任务会无限循环执行。
(9)if_secerts代表执行的SQL是否为加密,1为加密SQL,其他值为否
(10)day为SQL配置文件中用到的参数。(可选,如果SQL中没有参数,可以不填)
步骤2:分发读取配置文件。使用addFile方法将配置文件分发到各节点上,然后SparkFile.get方法可以方便高效地读取配置文件。
步骤3:查询数据源.为了读取配置文件中的信息,使用JDBC来访问数据源并读取数据。需要先确保Spark能够正确获取并加载配置文件。之后使用配置数据的getString(key)方法来获取特定键的值。将这些值作为选项传递给JDBC函数,以确保连接到相应的数据源。(读取配置参数并建立连接:根据不同操作环境获取相应的参数,获取SparkSession)
步骤4:SQL控制注册内存表。使用Dataframe.创建表的方法生成Spark内存表,方便对不同数据源进行交互操作。这种方式可以更灵活地处理和分析数据,提高数据处理效率。(读取数据:针对不同数据源建立相应连接,可采用不同方式读取数据,将数据读取至Spark内存表中等待后续操作。)
步骤5:执行数据库语句。使用SparkSQL对存储在内存表中的数据执行交互关联计算。在此过程中,直接使用SQL语句通过spark执行sql方法对内存表数据进行操作。然后将结果数据重新写入一个新的内存表。通过这种方法,可以充分利用Spark的内存计算能力,灵活地操作内存表数据。(关联数据:可选的,使用SparkSQL对存储在内存表中的数据执行交互关联计算,将结果数据重新写入一个新的内存表。)
步骤6:写入数据库。将数据关联计算的结果重新生成一个Dataframe对象,使用coalesce(30)对数据进行重新分区,使用write方法将Dataframe写入数据库。通过指定不同的写入模式和格式,可以将数据以适当的格式写入到数据库中。(写回数据源:将计算结果生成一个DataFrame对象,写回指定的数据源,并可指定不同写入模式和格式)
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。在各个实施例中,技术的硬件实现可以直接采用现有的智能设备,包括但不限于工控机、PC机、智能手机、手持单机、落地式单机等。其输入设备优选采用屏幕键盘,其数据存储和计算模块采用现有的存储器、计算器、控制器,其内部通信模块采用现有的通信端口和协议,其远程通信采用现有的gprs网络、万维互联网等。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于配置化多数据源数据整合的分布式计算框架,其特征在于:所述计算框架通过对不同数据库中的数据进行整合,采用分布式计算引擎进行数据计算,实现数据在不同格式、位置以及存储方式下的数据加工问题,达到数据处理和分析效率的提升。
2.根据权利要求1所述的基于配置化多数据源数据整合的分布式计算框架,其特征在于:所述计算框架包含如下架构组件:数据源接入层、配置整合层、分布式计算层、数据处理层、数据输出层。
3.根据权利要求2所述的基于配置化多数据源数据整合的分布式计算框架,其特征在于:所述数据源接入层支持SQL配置,包括数据关联、连接、汇总、变换和计算在内的数据操作。
4.根据权利要求2所述的基于配置化多数据源数据整合的分布式计算框架,其特征在于:所述配置整合层提供统一的接口和配置方式,将不同数据源的数据整合在一起进行计算。
5.根据权利要求2所述的基于配置化多数据源数据整合的分布式计算框架,其特征在于:所述分布式计算层通过SPARK集群进行数据加工,利用分布式计算的原理将任务划分成多个小任务,分配给不同的集群节点同时进行处理,并支持扩展Spark原生功能,在处理大量数据时极大提高效率。
6.根据权利要求2所述的基于配置化多数据源数据整合的分布式计算框架,其特征在于:所述数据处理层可以同时进行流式和批量处理,支持数据的实时操作和离线操作,自动记录所有数据的日志情况,使用户随时回溯数据的历史记录,提高分布式计算框架的可靠性和运维效率。
7.根据权利要求2所述的基于配置化多数据源数据整合的分布式计算框架,其特征在于:所述数据处理层通过集成包括ApacheAirflow、ApacheOozie在内的作业调度系统,管理和维护数据处理流程,编排任务执行顺序,处理依赖关系。
8.根据权利要求2所述的基于配置化多数据源数据整合的分布式计算框架,其特征在于:所述数据处理层包括数据清洗、数据转换、数据聚合在内的实现数据整合的核心逻辑,支持可插拔的数据处理模块,以便轻松添加或修改处理逻辑。
9.根据权利要求2所述的基于配置化多数据源数据整合的分布式计算框架,其特征在于:所述数据输出层支持数据写回操作到不同类型的数据库或大数据平台,提供数据输出的配置化管理,通过配置文件动态选择输出目标和输出格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311601962.8A CN117609358A (zh) | 2023-11-28 | 2023-11-28 | 一种基于配置化多数据源数据整合的分布式计算框架 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311601962.8A CN117609358A (zh) | 2023-11-28 | 2023-11-28 | 一种基于配置化多数据源数据整合的分布式计算框架 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117609358A true CN117609358A (zh) | 2024-02-27 |
Family
ID=89959290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311601962.8A Pending CN117609358A (zh) | 2023-11-28 | 2023-11-28 | 一种基于配置化多数据源数据整合的分布式计算框架 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117609358A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104299056A (zh) * | 2014-10-17 | 2015-01-21 | 大连理工大学 | 配电网规划基础技术支持平台 |
CN114328688A (zh) * | 2021-12-27 | 2022-04-12 | 国网河北省电力有限公司信息通信分公司 | 一种针对电力能源大数据的管控平台 |
CN116303814A (zh) * | 2022-12-23 | 2023-06-23 | 车主邦(北京)科技有限公司 | 数仓系统、数据处理方法、装置、介质及设备 |
CN116595071A (zh) * | 2022-12-23 | 2023-08-15 | 车主邦(北京)科技有限公司 | 数据平台、数据处理方法、装置、介质及设备 |
-
2023
- 2023-11-28 CN CN202311601962.8A patent/CN117609358A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104299056A (zh) * | 2014-10-17 | 2015-01-21 | 大连理工大学 | 配电网规划基础技术支持平台 |
CN114328688A (zh) * | 2021-12-27 | 2022-04-12 | 国网河北省电力有限公司信息通信分公司 | 一种针对电力能源大数据的管控平台 |
CN116303814A (zh) * | 2022-12-23 | 2023-06-23 | 车主邦(北京)科技有限公司 | 数仓系统、数据处理方法、装置、介质及设备 |
CN116595071A (zh) * | 2022-12-23 | 2023-08-15 | 车主邦(北京)科技有限公司 | 数据平台、数据处理方法、装置、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321454B2 (en) | Double map reduce distributed computing framework | |
CN106649670B (zh) | 基于流式计算的数据监控方法及装置 | |
CN106682213B (zh) | 基于Hadoop平台的物联网任务订制方法及系统 | |
CN109815283B (zh) | 一种异构数据源可视化查询方法 | |
CN109861844A (zh) | 一种基于日志的云服务问题细粒度智能溯源方法 | |
WO2020238130A1 (zh) | 一种大数据日志监控方法及装置、存储介质和计算机设备 | |
CN108804613A (zh) | 一种多源数据库实时融合系统及其融合方法 | |
JP2010524060A (ja) | 分散コンピューティングにおけるデータマージング | |
JP2016509294A (ja) | 分散型データベースクエリ・エンジン用のシステムおよび方法 | |
CN111475564A (zh) | 一种流式数据处理方法、系统、计算机设备及存储介质 | |
CN111338901A (zh) | 一种Redis监控方法、Redis监控装置及终端 | |
CN107368388A (zh) | 一种监控文件系统变化的数据库实时备份方法 | |
CN110569142A (zh) | 一种oracle数据增量同步系统及方法 | |
CN114036183A (zh) | 一种数据etl处理方法、装置、设备及介质 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN117149873A (zh) | 一种基于流批一体化的数据湖服务平台构建方法 | |
CN114385733B (zh) | Etl过程中数据模型统一创建方法和装置 | |
CN118467644B (zh) | SQL Server数据库事务日志分析DDL操作方法、装置、设备及介质 | |
CN105930354B (zh) | 存储模型转换方法和装置 | |
CN115168389A (zh) | 请求处理方法以及装置 | |
CN118819877A (zh) | 一种日志数据同步任务进程控制方法和装置 | |
CN118312395A (zh) | 仿真大数据在线评估系统、方法和装置 | |
CN117609358A (zh) | 一种基于配置化多数据源数据整合的分布式计算框架 | |
Xu et al. | Banian: A cross-platform interactive query system for structured big data | |
CN116383207A (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 |