CN111104397B - 一种基于Flume的可配置数据集成方法 - Google Patents
一种基于Flume的可配置数据集成方法 Download PDFInfo
- Publication number
- CN111104397B CN111104397B CN201911131798.2A CN201911131798A CN111104397B CN 111104397 B CN111104397 B CN 111104397B CN 201911131798 A CN201911131798 A CN 201911131798A CN 111104397 B CN111104397 B CN 111104397B
- Authority
- CN
- China
- Prior art keywords
- data
- agent
- sink
- source
- information
- 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 66
- 230000010354 integration Effects 0.000 title claims abstract description 30
- 239000003795 chemical substances by application Substances 0.000 claims abstract description 91
- 230000008569 process Effects 0.000 claims abstract description 41
- 239000013589 supplement Substances 0.000 claims abstract description 23
- 230000001502 supplementing effect Effects 0.000 claims abstract description 18
- 239000012459 cleaning agent Substances 0.000 claims abstract description 11
- 238000004140 cleaning Methods 0.000 claims description 31
- 238000000605 extraction Methods 0.000 claims description 21
- 238000010606 normalization Methods 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 3
- 238000013075 data extraction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- YCKRFDGAMUMZLT-UHFFFAOYSA-N Fluorine atom Chemical compound [F] YCKRFDGAMUMZLT-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 229910052731 fluorine Inorganic materials 0.000 description 1
- 239000011737 fluorine Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于Flume的可配置数据集成方法,包括以下步骤:第一步,数据采集Agent实现,如下:1.1)公共信息提取;1.2)采集Agent执行过程;第二步,数据清洗Agent实现,如下:2.1)公共信息提取;2.2)清洗Agent执行过程;第三步,数据补充Agent实现,如下:3.1)公共信息提取;3.2)补充Agent执行过程;第四步,数据标准化Agent实现,如下:4.1)数据标准化策略;4.2)标准化Agent执行过程;第五步,数据输出Agent实现,如下:5.1)公共信息提取;5.2)输出Agent执行过程。进一步通过提取公共信息的方式,改写了source或者sink的具体功能,使source或者sink成为一个可重复利用的单元,结合配置文件将这些单元组装到Agent中,使Agent完成具体的功能,从而实现了可配置化的需求。本发明对图书馆的异构数据进行高校内的快速集成,搭建高校各自的数据集成中心。
Description
技术领域
本发明涉及数据采集、清洗、补充,是一种基于Flume的异构数据标准化的可配置集成方法。
背景技术
随着科学技术的蓬勃发展与信息的多元化,高校学生对文献等资源的需求也开始变得更为广泛,这对高校图书馆提出了更高的要求,但是面对高校学生多变的需求,单纯地提高图书馆的馆藏能力显得杯水车薪。在这样的矛盾下,“图书馆联盟”的理念应运而生。其基于互惠共赢的目的,希望通过合作、共享的方式,增强高校图书馆之间的交流,使得高校图书馆之间可以通过共享模式去满足高校学生的资源需求。但是在整体上,我国的“图书馆联盟”建设工作依然停留在初级阶段,高校图书馆之间往往存在自治现象严重,图书馆间的交流了解不足等问题。对此有学者提出对于图书馆资源共享工作建立统一的资源管理系统,但是这种实现方式往往需要改变原来各高校图书馆的自治现状,通过多方协作的方式对各高校图书馆内多种资源进行重新整合,其所带来的消耗与影响往往十分巨大。
基于上述问题,众多学者提出在不改变图书馆原有系统的基础上,通过共享信息数据增进图书馆间的了解,由高校自行决定共享工作,增强资源共享的灵活性。但是由于缺乏有效的规划,高校图书馆各自围绕着自身业务建立了多种数据管理系统,对于如何建立一个信息共享平台,增进图书馆间的交互依然存在着以下问题急需解决:
高校图书馆间的数据异构。由于高校图书馆管理系统往往由不同企业自主开发实现,因此不同管理系统间相似度极小,数据在存储方式、组织结构、内容定义等方面均存在较大差异,而统一的数据标准是图书馆间进行信息交互的基础,因此如何在不改变图书馆现状的情况下,对高校内的数据进行集成处理是共享平台构建需要解决的问题。
发明内容
为了克服现有技术的不足,本发明在定义统一的集成数据标准上,通过自定义实现基于Flume的数据集成工具包,提出一种可配置的数据集成方法,对图书馆的异构数据进行高校内的快速集成,搭建高校各自的数据集成中心。
为了解决上述技术问题,本发明提供如下的技术方案:
一种基于Flume的可配置数据集成方法,包括以下步骤:
第一步,数据采集Agent实现,过程如下:
1.1)公共信息提取
数据采集工作需应对不同的数据表,在source中提取抽取操作的公共信息,提取内容包括数据库连接url、账户user、密码password、表名tablename、sql语句select、轮询周期delay、读取数量incremental.value、自增列column.name和状态文件status.file,通过改写的source,使数据的抽取操作可配置化;
1.2)采集Agent执行过程
①当Agent启动时,Agent中的source从启动配置文件中读取上文提取的公共信息,连接对应的数据库,并控制自身的数据表轮询操作;
②source继续从状态文件status.file中读取上一次读取数据的位置,第一次读取则从0开始读取,当数据新增时,即数据的自增列值column.name大于状态文件中的值,source就会将数据读取并传输至channel;
③当新增的数据发送至channel之后,sink会进行读出,由于采集层需要与其它层配合,因此对于sink使用avro端口进行实现,实现过程是在配置文件中将sink的type配置为avro,同时配置发送主机的hostname、port;这样sink就会根据配置信息将数据发送至指定的主机端口,sink发送成功后,状态文件的值就会改变,source即可开始下一次的数据抽取工作;
第二步,数据清洗Agent实现,过程如下:
2.1)公共信息提取
当数据被采集层发送至清洗层后,需要对不符合要求的数据进行清洗,通过在sink中提取清洗操作的公共信息控制Agent的清洗行为,提取内容包括位置信息cleandateposition与清洗值cleandatevalue,通过改写sink,使得数据清洗功能可配置化;
2.2)清洗Agent执行过程
①在一层中,Agent将数据发送到了localhost的10000端口,因此,在清洗Agent的source实现中,可将type设置为avro,同时配置bind与port,source即可对上一层的发送数据进行监听读取;
②source读取到数据并传输至channel后,sink会对数据进行读取,
③sink读取后,需要进行真正意义的数据清洗工作,此部分由自定义的类CleanSink实现。它继承于AbstractSink,其中的configure方法,可以读取Agent的配置信息。这里使用自定义配置cleandateposition与cleandatevalue,它们指定了字段在数据中的位置与清洗标准值,当数据在位置cleandateposition上的值为cleandatevalue时,sink就会对数据进行剔除,接着,对于符合要求的数据继续进行端口的转发,配置内容与上一层相同;
第三步,数据补充Agent实现,过程如下:
3.1)公共信息提取
在数据补充层通常使用外键等信息对数据中缺失的字段进行补充,通过在sink中提取补充操作的公共信息控制Agent的补充行为,提取内容包括补充位置信息supplyfrom、数据库连接信息supplyurl、supplyuser、supplypassword、supplytablename、外键信息supplyrelation和关联字段信息supplycolumn;
3.2)补充Agent执行过程
①与前文实现类似,补充Agent的source实现中,将type设置为avro,同时配置bind与port,即可对上一层的发送数据进行监听读取;
②source读取到数据并传输至channel后,sink会对数据进行读取;
③sink由自定义类SupplySink实现,其与CleanSink一致,通过继承AbstractSink自定义实现,其中的configure方法,可以读取Agent的配置信息;在配置内容中,使用字段supplyfrom指定数据中外键字段位置;接着使用字段supplyurl、supplyuser、supplypassword、supplytablename关联上数据补充的来源表;然后使用字段supplyrelation指定关联的对应信息;最后使用字段supplycolumn指定需要读出的读者信息,对于补充后的数据,继续进行端口发送;
④通过上述配置,可实现一张表的数据关联及补充,接下来,对于多张表的关联补充,只需要将多个补充Agent通过端口转发的方式进行连接即可实现数据的完全补充;
第四步,数据标准化Agent实现,过程如下:
4.1)数据标准化策略
得到需要的所有字段信息后,系统需要对有表达差异的数据进行标准化,使用的标准化策略与补全策略类似,具操作是通过人工的方式建立数据标准表,再提取Agent连接数据表的标准信息对数据项进行替换;
以学院举例,操作如下:首先,建立数据标准表z_academy_org,其记录了云平台对学院的标准设定;接下来,需要人工的将某一高校的学院表academy与标准表z_academy_org建立一一对应的关系;最后,使用关联查询的方式,对学院信息进行替换;
4.2)标准化Agent执行过程
①标准化Agent的source实现与上文相同,将type设置为avro,同时配置bind与port,即可对上一层的发送数据进行监听读取;
②source读取到数据传输至channel后,接着sink会对数据进行读取;
③UnificationSink与SupplySink一致,通过继承AbstractSink自定义实现,配置内容也与SupplySink相似,只是使用unification*为前缀,数据标准化后,同样进行端口发送;
第五步,数据输出Agent实现,过程如下:
5.1)公共信息提取
数据集成的最后,需要对数据进行存储,使用Mysql数据库作为校内集成数据的存储中心,通过在sink中提取输出操作的公共信息控制Agent的输出行为,提取内容包括数据库连接信息url、user、password等;
5.2)输出Agent执行过程。
进一步,所述5.2)的过程如下:
①将source的type配置为arvo,从本主机的相应端口中将数据读出;
②source读取数据传输至channel后,接着sink会对数据进行读取;
③StorageMysqlSink是对Mysql数据库实现的输出程序,可通过自定义配置url、user、password、table指定输出的数据表连接;通过position、colume指定数据输出的具体位置与列名。
本发明的技术构思为:在逻辑上,Flume把一个Agent表示一个处理单元,用于从监控的数据源中采集数据、并可靠的传递至目的地,为了保证数据传输过程的可靠与高效,Agent将处理过程划分为三个部分,分别代表着数据的获取、中转和输出,即Source、Channel和Sink;Source组件负责对多种数据源进行监控,并将监控期间数据源新增的数据进行采集、处理后发送至Channel组件中;Channel组件是数据传输过程中的暂存通道,它的出现是为了保证数据传输的可靠性;当Source组件发送数据至Channel组件后,Channel组件会对数据进行记录,直至Sink组件消费掉暂存的数据后,暂存数据才会被删除;通过Channel组件的中转,也可解决读取与输出速率不一的问题,Sink组件负责数据的发送工作,它会将数据从Channel中取出,并发送至指定的目的地。
进一步,对于不同层的Agent实现,通过提取公共信息的方式,改写了source或者sink的具体功能,使source或者sink成为一个可重复利用的单元;接着就可以利用配置文件组装Agent,使Agent完成具体的功能,从而实现了可配置化的数据集成需求。
所述方法包括以下步骤:第一步,针对每一层的架构功能特点,实现可配置化的Agent处理单元;第二步,编写具体的配置文件控制Agent具体的行为,使其完成具体的功能;第三步,通过端口转发的方式将多个Agent的处理操作进行连接,协作实现数据的集成操作,即每一层操作由一个或者多个Flume Agent实现,通过不同Agent之间的连接合作,实现数据的集成功能。
原始数据的集成需要对异构数据进行统一的清洗、补全、标准化等操作,使其符合相关数据标准。因此,将数据集成操作分为了数据采集层、数据清洗层、数据补充层、数据标准化层、数据输出层。通过每一层的处理操作,使图书馆数据完成汇聚;但是面对不同图书馆的数据集成实现,若基于业务进行特定开发实现,则多个图书馆的数据集成工作量将大大减缓云平台的建设。因此,面对数据集成工作,应实现可配置化的数据集成功能,加快工作效率。
本发明的有益效果为:对图书馆的异构数据进行高校内的快速集成,搭建高校各自的数据集成中心;加快工作效率。
附图说明
图1为Agent设计架构图。一个Agent由Source、Channel和Sink组成,对应用来实现数据的获取、中转和输出功能。
图2为Flume数据集成架构图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1和图2,一种基于Flume的可配置数据集成方法,包括以下步骤:
第一步,数据采集Agent实现,过程如下:
1.1)公共信息提取
数据采集工作需应对不同的数据表,在source中提取抽取操作的公共信息,提取内容包括数据库连接url、账户user、密码password、表名tablename、sql语句select、轮询周期delay、读取数量incremental.value、自增列column.name和状态文件status.file等,通过改写的source,使数据的抽取操作可配置化;
1.2)采集Agent执行过程
①当Agent启动时,Agent中的source从启动配置文件中读取上文提取的公共信息,连接对应的数据库,并控制自身的数据表轮询操作;
②source继续从状态文件status.file中读取上一次读取数据的位置,第一次读取则从0开始读取,当数据新增时,即数据的自增列值column.name大于状态文件中的值,source就会将数据读取并传输至channel;
③当新增的数据发送至channel之后,sink会进行读出,由于采集层需要与其它层配合,因此对于sink使用avro端口进行实现,实现过程是在配置文件中将sink的type配置为avro,同时配置发送主机的hostname、port;这样sink就会根据配置信息将数据发送至指定的主机端口,sink发送成功后,状态文件的值就会改变,source即可开始下一次的数据抽取工作;
第二步,数据清洗Agent实现,过程如下:
2.1)公共信息提取
当数据被采集层发送至清洗层后,需要对不符合要求的数据进行清洗,通过在sink中提取清洗操作的公共信息控制Agent的清洗行为,提取内容包括位置信息cleandateposition与清洗值cleandatevalue,通过改写sink,使得数据清洗功能可配置化;
2.2)清洗Agent执行过程
①在一层中,Agent将数据发送到了localhost的10000端口,因此,在清洗Agent的source实现中,可将type设置为avro,同时配置bind与port,source即可对上一层的发送数据进行监听读取;
②source读取到数据并传输至channel后,sink会对数据进行读取,
③sink读取后,需要进行真正意义的数据清洗工作,此部分由自定义的类CleanSink实现。它继承于AbstractSink,其中的configure方法,可以读取Agent的配置信息。这里使用自定义配置cleandateposition与cleandatevalue,它们指定了字段在数据中的位置与清洗标准值,当数据在位置cleandateposition上的值为cleandatevalue时,sink就会对数据进行剔除,接着,对于符合要求的数据继续进行端口的转发,配置内容与上一层相同;
第三步,数据补充Agent实现,过程如下:
3.1)公共信息提取
在数据补充层通常使用外键等信息对数据中缺失的字段进行补充,通过在sink中提取补充操作的公共信息控制Agent的补充行为,提取内容包括补充位置信息supplyfrom、数据库连接信息supplyurl、supplyuser、supplypassword、supplytablename、外键信息supplyrelation和关联字段信息supplycolumn;
3.2)补充Agent执行过程
①与前文实现类似,补充Agent的source实现中,将type设置为avro,同时配置bind与port,即可对上一层的发送数据进行监听读取;
②source读取到数据并传输至channel后,sink会对数据进行读取;
③sink由自定义类SupplySink实现,其与CleanSink一致,通过继承AbstractSink自定义实现,其中的configure方法,可以读取Agent的配置信息;在配置内容中,使用字段supplyfrom指定数据中外键字段位置,如6指读者account的位置;接着使用字段supplyurl、supplyuser、supplypassword、supplytablename关联上数据补充的来源表,如用户表student;然后使用字段supplyrelation指定关联的对应信息,如读者account对应上用户表student的account字段;最后使用字段supplycolumn指定需要读出的读者信息,如用户表student的name、sex字段等,对于补充后的数据,继续进行端口发送;
④通过上述配置,可实现一张表的数据关联及补充,接下来,对于多张表的关联补充,只需要将多个补充Agent通过端口转发的方式进行连接即可实现数据的完全补充;
第四步,数据标准化Agent实现,过程如下:
4.1)数据标准化策略
得到需要的所有字段信息后,系统需要对有表达差异的数据进行标准化,使用的标准化策略与补全策略类似,具操作是通过人工的方式建立数据标准表,再提取Agent连接数据表的标准信息对数据项进行替换;
以学院举例,操作如下:首先,建立数据标准表z_academy_org,其记录了云平台对学院的标准设定;接下来,需要人工的将某一高校的学院表academy与标准表z_academy_org建立一一对应的关系;最后,使用关联查询的方式,对学院信息进行替换;
4.2)标准化Agent执行过程
①标准化Agent的source实现与上文相同,将type设置为avro,同时配置bind与port,即可对上一层的发送数据进行监听读取;
②source读取到数据传输至channel后,接着sink会对数据进行读取;
③UnificationSink与SupplySink一致,通过继承AbstractSink自定义实现,配置内容也与SupplySink相似,只是使用unification*为前缀,数据标准化后,同样进行端口发送;
第五步,数据输出Agent实现,过程如下:
5.1)公共信息提取
数据集成的最后,需要对数据进行存储,使用Mysql数据库作为校内集成数据的存储中心,通过在sink中提取输出操作的公共信息控制Agent的输出行为,提取内容包括数据库连接信息url、user、password等;
5.2)输出Agent执行过程
①将source的type配置为arvo,从本主机的相应端口中将数据读出;
②source读取数据传输至channel后,接着sink会对数据进行读取;
③StorageMysqlSink是对Mysql数据库实现的输出程序,可通过自定义配置url、user、password、table指定输出的数据表连接;通过position、colume指定数据输出的具体位置与列名。
图2为Flume数据集成架构图。其中,(1)数据采集层:数据采集层主要负责应对多种异构数据源的数据采集工作,对图书馆历史数据与新增数据进行抽取。(2)数据清洗层:数据清洗层主要负责清洗数据,面对不符合要求的数据,需要对数据进行清洗剔除。(3)数据补充层:数据补充层主要负责将原始数据中没有的数据项,根据外键等关联信息,进行合理的补全。(4)数据标准化层:数据标准化层主要负责根据数据标准,将原始数据中不符合标准的数据进行转换。(5)数据输出层:数据输出层与数据采集层类似,其主要负责将数据存储至校内数据存储中心。
需要指出的是,清洗、补充、标准化等Agent是通过端口转发的方式进行组合的。因此,数据集成的执行过程并不需要按固定的格式进行,可根据业务数据的需要自定义配置。例如在清洗后,先进行标准化再执行补充。在面对特定高校的特殊要求时,也可自行实现相应的Agent单元,并在上述层级间进行插入。基于Agent的配置能力,校内集成系统可以实现灵活的数据集成功能。
Claims (2)
1.一种基于Flume的可配置数据集成方法,所述方法包括以下步骤:
第一步,数据采集Agent实现,过程如下:
1.1)公共信息提取
数据采集工作需应对不同的数据表,在source中提取抽取操作的公共信息,提取内容包括数据库连接url、账户user、密码password、表名tablename、sql语句select、轮询周期delay、读取数量incremental.value、自增列column.name和状态文件status.file,通过改写的source,使数据的抽取操作可配置化;
1.2)采集Agent执行过程
①当Agent启动时,Agent中的source从启动配置文件中读取上文提取的公共信息,连接对应的数据库,并控制自身的数据表轮询操作;
②source继续从状态文件status.file中读取上一次读取数据的位置,第一次读取则从0开始读取,当数据新增时,即数据的自增列值column.name大于状态文件中的值,source就会将数据读取并传输至channel;
③当新增的数据发送至channel之后,sink会进行读出,由于采集层需要与其它层配合,因此对于sink使用avro端口进行实现,实现过程是在配置文件中将sink的type配置为avro,同时配置发送主机的hostname、port;这样sink就会根据配置信息将数据发送至指定的主机端口,sink发送成功后,状态文件的值就会改变,source即可开始下一次的数据抽取工作;
第二步,数据清洗Agent实现,过程如下:
2.1)公共信息提取
当数据被采集层发送至清洗层后,需要对不符合要求的数据进行清洗,通过在sink中提取清洗操作的公共信息控制Agent的清洗行为,提取内容包括位置信息cleandateposition与清洗值cleandatevalue,通过改写sink,使得数据清洗功能可配置化;
2.2)清洗Agent执行过程
①在一层中,Agent将数据发送到了localhost的10000端口,因此,在清洗Agent的source实现中,可将type设置为avro,同时配置bind与port,source即可对上一层的发送数据进行监听读取;
②source读取到数据并传输至channel后,sink会对数据进行读取,
③sink读取后,需要进行真正意义的数据清洗工作,此部分由自定义的类CleanSink实现,它继承于AbstractSink,其中的configure方法,可以读取Agent的配置信息,这里使用自定义配置cleandateposition与cleandatevalue,它们指定了字段在数据中的位置与清洗标准值,当数据在位置cleandateposition上的值为cleandatevalue时,sink就会对数据进行剔除,接着,对于符合要求的数据继续进行端口的转发,配置内容与上一层相同;
第三步,数据补充Agent实现,过程如下:
3.1)公共信息提取
在数据补充层通常使用外键等信息对数据中缺失的字段进行补充,通过在sink中提取补充操作的公共信息控制Agent的补充行为,提取内容包括补充位置信息supplyfrom、数据库连接信息supplyurl、supplyuser、supplypassword、supplytablename、外键信息supplyrelation和关联字段信息supplycolumn;
3.2)补充Agent执行过程
①与前文实现类似,补充Agent的source实现中,将type设置为avro,同时配置bind与port,即可对上一层的发送数据进行监听读取;
②source读取到数据并传输至channel后,sink会对数据进行读取;
③sink由自定义类SupplySink实现,其与CleanSink一致,通过继承AbstractSink自定义实现,其中的configure方法,可以读取Agent的配置信息;在配置内容中,使用字段supplyfrom指定数据中外键字段位置;接着使用字段supplyurl、supplyuser、supplypassword、supplytablename关联上数据补充的来源表;然后使用字段supplyrelation指定关联的对应信息;最后使用字段supplycolumn指定需要读出的读者信息,对于补充后的数据,继续进行端口发送;
④通过上述配置,可实现一张表的数据关联及补充,接下来,对于多张表的关联补充,只需要将多个补充Agent通过端口转发的方式进行连接即可实现数据的完全补充;
第四步,数据标准化Agent实现,过程如下:
4.1)数据标准化策略
得到需要的所有字段信息后,系统需要对有表达差异的数据进行标准化,使用的标准化策略与补全策略类似,具操作是通过人工的方式建立数据标准表,再提取Agent连接数据表的标准信息对数据项进行替换;
4.2)标准化Agent执行过程
①标准化Agent的source实现与上文相同,将type设置为avro,同时配置bind与port,即可对上一层的发送数据进行监听读取;
②source读取到数据传输至channel后,接着sink会对数据进行读取;
③UnificationSink与SupplySink一致,通过继承AbstractSink自定义实现,配置内容也与SupplySink相似,只是使用unification*为前缀,数据标准化后,同样进行端口发送;
第五步,数据输出Agent实现,过程如下:
5.1)公共信息提取
数据集成的最后,需要对数据进行存储,使用Mysql数据库作为校内集成数据的存储中心,通过在sink中提取输出操作的公共信息控制Agent的输出行为,提取内容包括数据库连接信息url、user和password;
5.2)输出Agent执行过程;
①将source的type配置为arvo,从本主机的相应端口中将数据读出;
②source读取数据传输至channel后,接着sink会对数据进行读取;
③StorageMysqlSink是对Mysql数据库实现的输出程序,通过自定义配置url、user、password、table指定输出的数据表连接;通过position、colume指定数据输出的具体位置与列名。
2.如权利要求1所述的一种基于Flume的可配置数据集成方法,其特征在于,对于不同层的Agent实现,通过提取公共信息的方式,改写了source或者sink的具体功能,使source或者sink成为一个可重复利用的单元;接着就利用配置文件组装Agent,使Agent完成具体的功能,从而实现了可配置化的数据集成需求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131798.2A CN111104397B (zh) | 2019-11-19 | 2019-11-19 | 一种基于Flume的可配置数据集成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911131798.2A CN111104397B (zh) | 2019-11-19 | 2019-11-19 | 一种基于Flume的可配置数据集成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111104397A CN111104397A (zh) | 2020-05-05 |
CN111104397B true CN111104397B (zh) | 2021-10-15 |
Family
ID=70420568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911131798.2A Active CN111104397B (zh) | 2019-11-19 | 2019-11-19 | 一种基于Flume的可配置数据集成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104397B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625543B (zh) * | 2020-05-27 | 2023-08-25 | 贵州易鲸捷信息技术有限公司 | 一种基于HBase表实现全局单调递增的序列的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010124029A2 (en) * | 2009-04-22 | 2010-10-28 | The Rand Corporation | Systems and methods for emerging litigation risk identification |
CN103731298A (zh) * | 2013-11-15 | 2014-04-16 | 中国航天科工集团第二研究院七〇六所 | 一种大规模分布式网络安全数据采集方法与系统 |
CN105574593A (zh) * | 2015-12-18 | 2016-05-11 | 中南大学 | 基于云计算和大数据的轨道状态静态检控系统及方法 |
CN105653662A (zh) * | 2015-12-29 | 2016-06-08 | 中国建设银行股份有限公司 | 一种基于Flume的数据处理方法和装置 |
CN106445988A (zh) * | 2016-06-01 | 2017-02-22 | 上海坤士合生信息科技有限公司 | 一种大数据的智能处理方法和系统 |
CN109840253A (zh) * | 2019-01-10 | 2019-06-04 | 北京工业大学 | 企业级大数据平台架构 |
-
2019
- 2019-11-19 CN CN201911131798.2A patent/CN111104397B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010124029A2 (en) * | 2009-04-22 | 2010-10-28 | The Rand Corporation | Systems and methods for emerging litigation risk identification |
CN103731298A (zh) * | 2013-11-15 | 2014-04-16 | 中国航天科工集团第二研究院七〇六所 | 一种大规模分布式网络安全数据采集方法与系统 |
CN105574593A (zh) * | 2015-12-18 | 2016-05-11 | 中南大学 | 基于云计算和大数据的轨道状态静态检控系统及方法 |
CN105653662A (zh) * | 2015-12-29 | 2016-06-08 | 中国建设银行股份有限公司 | 一种基于Flume的数据处理方法和装置 |
CN106445988A (zh) * | 2016-06-01 | 2017-02-22 | 上海坤士合生信息科技有限公司 | 一种大数据的智能处理方法和系统 |
CN109840253A (zh) * | 2019-01-10 | 2019-06-04 | 北京工业大学 | 企业级大数据平台架构 |
Non-Patent Citations (1)
Title |
---|
基于云计算的流数据集成与服务;王桂玲 等;《计算机学报》;20171231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111104397A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317843B (zh) | 一种数据同步etl系统 | |
CN103036736B (zh) | 一种基于数据源的组态化设备监控系统及方法 | |
CN104468274A (zh) | 一种集群监控管理方法及系统 | |
CN113508403A (zh) | 用于自动化系统组件与多个信息源的可互操作通信的系统和方法 | |
CN105450476A (zh) | 一种回归测试系统及测试方法 | |
CN107911249A (zh) | 一种网络设备的命令行发送方法、装置和设备 | |
CN110391949A (zh) | 一种配置变更的方法及相关装置 | |
CN111104397B (zh) | 一种基于Flume的可配置数据集成方法 | |
CN108388623A (zh) | Er关系生成方法、装置、计算机设备及存储介质 | |
CN103729742B (zh) | 一种基于soa架构和模型驱动架构的数据资源管理系统 | |
CN114385126B (zh) | 一种基于K8s的多租户深度学习模型研发系统及方法 | |
CN110932737B (zh) | Sca波形组件组合部属方法 | |
CN113486418B (zh) | 一种bim模型云编码方法及系统 | |
CN105701605A (zh) | 一种应用于综合通信导航识别系统中的波形列表管理模块 | |
CN111831696A (zh) | 基于图理论的资产信息存储方法和系统 | |
CN108092959B (zh) | 一种基于配置的BACnet协议解析方法 | |
CN110286657A (zh) | 一种监控系统 | |
CN112597225B (zh) | 基于集散模型的数据采集方法及装置 | |
CN114510323A (zh) | 在容器中运行虚机的网络优化实现方法 | |
CN114090333A (zh) | 一种生产管理平台容灾切换管理系统及方法 | |
CN109189786B (zh) | 一种用于网元管理系统周期生成自定义报表的方法 | |
CN105630634A (zh) | 应用系统灾备切换方法和装置 | |
CN111866082A (zh) | 一种基于目标系统配置的数据分发方法和装置 | |
CN110764759A (zh) | 数据转换方法、存储介质和系统 | |
TW202113749A (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 |