CN108256045A - 实时流数据的结构化解析、流计算的方法及计算机设备 - Google Patents
实时流数据的结构化解析、流计算的方法及计算机设备 Download PDFInfo
- Publication number
- CN108256045A CN108256045A CN201810029081.6A CN201810029081A CN108256045A CN 108256045 A CN108256045 A CN 108256045A CN 201810029081 A CN201810029081 A CN 201810029081A CN 108256045 A CN108256045 A CN 108256045A
- Authority
- CN
- China
- Prior art keywords
- data
- real
- row
- flow data
- flow
- 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
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/258—Data format conversion from or to a database
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种实时流数据的结构化解析方法,包括自动解析模式和用户自定义模式方式:所述自动解析模式是:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构;所述用户自定义解析模式是:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,其中的列名为自定义;或者是在转化为具有行和列的表结构的基础上再通过每个列定义的UDF进一步解析。本发明将流数据转换为结构化数据后,在由流计算引擎实时执行流数据的流计算,很大程度上简化了流计算的业务逻辑开发的难度。
Description
技术领域
本发明涉及一种实时流数据的处理方法,特别涉及一种实时流数据结构化解析及结构化流计算方法,以及实现上述方法的计算机设备。
背景技术
在传统的数据处理流程中,总是先收集数据,然后将数据存放到某个存储框架中持久存储。当人们需要的时候通过计算框架对数据作计算,计算则是从数据中提取信息的过程,最终得到答案或进行相关的处理。这样看起来虽然非常合理,但是在一些需要实时计算应用的环境中就会存在问题,传统数据处理方式的离线处理并不能很好地解决这些问题。
流式数据是大数据环境下的一种数据形态,其理论诞生于20世纪末,并在云计算和物联网发展下逐步成为当前的研究热点。流式数据与传统的数据是相对的。与静态、批处理和持久化的数据库相比,流式计算以连续、无边界和瞬时性为特征,适合高速并发和大规模数据实时处理的场景。当前大数据环境下的许多应用呈现多源并发、数据汇聚、在线处理的特征,所以实时数据处理的相关研究发展迅速,并在许多关键领域,如传感网络、金融、医疗、交通和军事领域得到了广泛的应用。
这就引出了一种新的数据计算方式--实时流计算。它可以很好地对大规模流动数据在不断变化的运动过程中实时地进行分析,捕捉到可能有用的信息,并把结果发送到下一个流计算节点或者将结果存放到某个存储框架中持久存储。实时流计算是大数据时代的重要抓手。采用“事中”甚至“事前”模式实现感知、分析、判断、决策。
发展至今,实时流计算技术已经非常的成熟,面对现代业务高速的发展同时也暴露出一些问题,实时流计算要么针对接收到的每条流数据的记录进行计算,要么针对某个时间段内收集到的流数据的记录进行计算,流计算的业务逻辑开发比较复杂,无法像传统的数据处理应用Query进行业务逻辑开发,如果遇到复杂的多次迭代的业务逻辑开发起来就更加吃力。现在企业的业务需求已经无法单单使用流数据的实时流计算能满足需求,往往都是伴随着流数据与传统数据的结合的流计算,此时现在的流计算方式就更力不从心了。
发明内容
本发明要解决的技术问题,在于提供一种实时流数据结构化解析及结构化流计算的方法,将流数据转换为结构化数据后,在由流计算引擎实时执行流数据的流计算,很大程度上简化了流计算的业务逻辑开发的难度。
本发明的实时流数据结构化解析方法是这样实现的:一种实时流数据的结构化解析方法,包括自动解析模式和用户自定义模式方式的至少一种:
所述自动解析模式是:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,从而实现简单的流数据结构化处理;
所述用户自定义解析模式是:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,其中的列名为自定义,从而实现简单的流数据结构化处理;或者是在转化为具有行和列的表结构的基础上再通过每个列定义的UDF进一步解析,从而实现复杂的流数据结构化处理。
本发明的实时流数据的结构化流计算方法是这样实现的:一种实时流数据的结构化流计算方法,包括实时流数据的结构化解析过程和流计算过程,所述实时流数据的结构化解析过程是通过本发明上述的方法进行的,并得到结构数据作为所述流计算过程的数据源。
进一步的,所述数据源还包括外部持久存储的传统数据。
本发明的计算机设备是这样实现的:一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下过程:
自动解析过程:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,从而实现简单的流数据结构化处理;或
用户自定义解析过程:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,其中的列名为自定义,从而实现简单的流数据结构化处理;或者是在转化为具有行和列的表结构的基础上再通过每个列定义的UDF进一步解析,从而实现复杂的流数据结构化处理。
其中,所述流数据的数据粒度为流数据记录或者为一个时间段内收集的流数据,且该数据粒度能被配置。
其中,所述符号为标点符号、ascii码或者为回车。
本发明具有如下优点:
(1)简化了流计算的业务逻辑开发的难度,让流计算可以像传统的数据处理应用Query进行业务逻辑的开发,越是遇到复杂的业务逻辑开发周期相比节约越直观。
(2)满足企业在流计算中需要结合传统数据的业务需求。
(3)当遇到业务逻辑时常变化的情况,可以快速地实现业务逻辑的开发及替换。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实时流数据结构化解析及结构化流计算方法的执行流程图。
图2为本发明方法简单的流数据结构化处理后的表结构示例。
具体实施方式
本发明要解决的技术问题,在于提供一种实时流数据结构化解析及结构化流计算的方法,将流数据转换为结构化数据后,在由流计算引擎实时执行流数据的流计算,很大程度上简化了流计算的业务逻辑开发的难度。
本发明的实时流数据的结构化解析方法,包括自动解析模式和用户自定义模式方式的至少一种:
所述自动解析模式是:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,从而实现简单的流数据结构化处理;
所述用户自定义解析模式是:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,其中的列名为自定义,从而实现简单的流数据结构化处理;或者是在转化为具有行和列的表结构的基础上再通过每个列定义的UDF进一步解析,从而实现复杂的流数据结构化处理。
其中,所述流数据的数据粒度为流数据记录或者为一个时间段内收集的流数据,且该数据粒度能被配置。所述符号为标点符号、ascii码或者为回车。
实时流数据的结构化流计算的方法整体流程如图1所示,包括流计算启动阶段、结构化解析阶段以及流计算阶段
流计算启动阶段主要设置流计算的粒度,可以设置基于流数据的记录作为结构化解析或结构化流计算的最小单元或者基于一个时间段内收集的流数据作为结构化解析或结构化流计算的最小单元,如果基于时间段,需要设置时间长度。对实时性要求比较严格才设置成基于记录数作为结构化解析或结构化流计算的最小单元,其余情况则基本都设置为基于时间周期作为结构化解析或结构化流计算的最小单元。另外,如果流数据的结构化解析过程需要基于自定义解析模式时,在流启动阶段还需要传入流数据结构化时需要的UDF(用户自定义函数)。
结构化解析阶段,如果流数据结构化解析比较简单可以选择自动解析模式,自动解析模式会读取流记录,按照特定符号对记录进行分割实现流数据结构化处理。
以下为结构化解析示例:
示例一:
Tabor,19881212,56000,1,123456
Swift,19820307,34550,1,123456
如以上输入的流数据,每个记录就是以逗号为字段之间的分隔符,以回车为记录之间的分隔符;
如图2所示,结构化解析阶段就是:读取流数据,根据预设的数据粒度(基于时间段的流数据或基于记录的流数据),根据流数据的逗号和回车对实时流数据进行分割,并转化为具有行和列的表结构(得到关系型数据表),从而实现简单的流数据结构化处理;若采用自动解析模式则无需命名行和列,若采用用户自定义解析模式则可以对列名进行自定义。
示例二:
Tabor\00119881212\00156000\0011\001123456\002Swift\00119820307\00134550\0011\001123456\002
如以上输入的流数据,每个记录就是以ascii码的控制符\001为字段之间的分隔符,以ascii码的控制符\002为记录之间的分隔符;
结构化解析阶段就是:读取流数据,根据预设的数据粒度,根据流数据的ascii码的控制符\001和\002对实时流数据进行分割,并转化为具有行和列的表结构,从而实现简单的流数据结构化处理;若采用自动解析模式则无需命名列,系统自动采用“Col1”、“Col2”、“Col3”、“Col4”进行命名区分,若采用用户自定义解析模式则可以对列名进行自定义,比如“名字”、“出生日期”、“薪资”、“性别”、“密码”等;
若简单的流数据结构化处理不能满足用户需求,则可以在该基础上再通过每个列定义的UDF(用户自定义函数)作进一步解析,种模式比较灵活可以实现所有的解析功能,从而实现复杂的流数据结构化处理,如下述示例三:
示例三:
Tabor,19881212,56000,1,123456
Swift,19820307,34550,1,123456
仍以上述流数据为例,此时,结构化解析阶段除了要通过分割符(逗号和回车)分解出字段和记录的对应关系,如自定义列名,会生成如下的具有行和列的表结构,即得到结构化数据:
以上步骤是个简单的解析过程,如果此时有个需求需要对薪资小于40000的记录,加入补贴5000,此时就需要定义一个UDF用于处理这个需求,经过UDF处理后输出结果如下:
另外,对于Web应用的日志,作为流输入数据,使用UDF来解析日志信息,转储成需要的结构化数据长期存储,此时使用UDF是个非常好的解决方案。
流计算阶段就是:通过结构化解析的流数据,同时也可以选择结合外部持久存储的传统数据进行结构化流计算。
本发明的实时流数据的结构化流计算方法是这样实现的:一种实时流数据的结构化流计算方法,包括实时流数据的结构化解析过程和流计算过程,所述实时流数据的结构化解析过程是通过本发明上述的方法进行的,并得到结构数据作为所述流计算过程的数据源。
进一步的,所述数据源还包括外部持久存储的传统数据。
本发明的计算机设备是这样实现的:一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下过程:
自动解析过程:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,从而实现简单的流数据结构化处理;或
用户自定义解析过程:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,其中的列名为自定义,从而实现简单的流数据结构化处理;或者是在转化为具有行和列的表结构的基础上再通过每个列定义的UDF进一步解析,从而实现复杂的流数据结构化处理。
本发明具有如下优点:
(1)简化了流计算的业务逻辑开发的难度,让流计算可以像传统的数据处理应用Query进行业务逻辑的开发,越是遇到复杂的业务逻辑开发周期相比节约越直观。
(2)满足企业在流计算中需要结合传统数据的业务需求。
(3)当遇到业务逻辑时常变化的情况,可以快速地实现业务逻辑的开发及替换。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (8)
1.一种实时流数据的结构化解析方法,其特征在于:包括自动解析模式和用户自定义模式方式的至少一种:
所述自动解析模式是:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构;
所述用户自定义解析模式是:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,其中的列名为自定义;或者是在转化为具有行和列的表结构的基础上再通过每个列定义的UDF进一步解析。
2.根据权利要求1所述的一种实时流数据的结构化解析方法,其特征在于:所述流数据的数据粒度为流数据记录或者为一个时间段内收集的流数据,且该数据粒度能被配置。
3.根据权利要求2所述的一种实时流数据的结构化解析方法,其特征在于:所述流数据的分隔符为标点符号、ascii码或者为回车。
4.一种实时流数据的结构化流计算方法,其特征在于:包括实时流数据的结构化解析过程和流计算过程,所述实时流数据的结构化解析过程是通过如权利要求1至3任一项所述的方法进行的,并得到结构数据作为所述流计算过程的数据源。
5.根据权利要求4所述的一种实时流数据的结构化流计算方法,其特征在于:所述数据源还包括外部持久存储的传统数据。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下过程:
自动解析过程:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构;或
用户自定义解析过程:读取流数据,根据预设有数据粒度,根据流数据的分隔符对实时流数据进行分割,并转化为具有行和列的表结构,其中的列名为自定义;或者是在转化为具有行和列的表结构的基础上再通过每个列定义的UDF进一步解析。
7.根据权利要求6所述的一种计算机设备,其特征在于:所述流数据的数据粒度为流数据记录或者为一个时间段内收集的流数据,且该数据粒度能被配置。
8.根据权利要求6所述的一种计算机设备,其特征在于:所述流数据的分隔符为标点符号、ascii码或者为回车。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810029081.6A CN108256045A (zh) | 2018-01-12 | 2018-01-12 | 实时流数据的结构化解析、流计算的方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810029081.6A CN108256045A (zh) | 2018-01-12 | 2018-01-12 | 实时流数据的结构化解析、流计算的方法及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108256045A true CN108256045A (zh) | 2018-07-06 |
Family
ID=62726994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810029081.6A Pending CN108256045A (zh) | 2018-01-12 | 2018-01-12 | 实时流数据的结构化解析、流计算的方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108256045A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542946A (zh) * | 2018-10-26 | 2019-03-29 | 贵州斯曼特信息技术开发有限责任公司 | 一种实时计算大数据系统和方法 |
CN110489451A (zh) * | 2019-08-13 | 2019-11-22 | 成都飞机工业(集团)有限责任公司 | 基于迭代统计的流计算方法 |
CN112328597A (zh) * | 2020-11-06 | 2021-02-05 | 北京航云物联信息技术有限公司 | 一种基于表的流计算方法和装置 |
CN112749201A (zh) * | 2019-10-30 | 2021-05-04 | 北京国双科技有限公司 | 结构化数据处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205105A (zh) * | 2015-08-27 | 2015-12-30 | 浪潮集团有限公司 | 一种基于storm的数据ETL系统及处理方法 |
WO2016000362A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 一种配置流表项的方法、装置和系统 |
CN106254313A (zh) * | 2016-07-15 | 2016-12-21 | 国云科技股份有限公司 | 一种通用的大数据采集字节流解析系统及其实现方法 |
CN106406858A (zh) * | 2016-08-30 | 2017-02-15 | 国电南瑞科技股份有限公司 | 一种基于配置文件的流式统计定义及运行方法 |
CN106844712A (zh) * | 2017-02-07 | 2017-06-13 | 济南浪潮高新科技投资发展有限公司 | 采用流式计算进行爬取数据的实时分析的实现方法 |
CN107391719A (zh) * | 2017-07-31 | 2017-11-24 | 南京邮电大学 | 一种云环境中分布式流数据处理方法及系统 |
-
2018
- 2018-01-12 CN CN201810029081.6A patent/CN108256045A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016000362A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 一种配置流表项的方法、装置和系统 |
CN105205105A (zh) * | 2015-08-27 | 2015-12-30 | 浪潮集团有限公司 | 一种基于storm的数据ETL系统及处理方法 |
CN106254313A (zh) * | 2016-07-15 | 2016-12-21 | 国云科技股份有限公司 | 一种通用的大数据采集字节流解析系统及其实现方法 |
CN106406858A (zh) * | 2016-08-30 | 2017-02-15 | 国电南瑞科技股份有限公司 | 一种基于配置文件的流式统计定义及运行方法 |
CN106844712A (zh) * | 2017-02-07 | 2017-06-13 | 济南浪潮高新科技投资发展有限公司 | 采用流式计算进行爬取数据的实时分析的实现方法 |
CN107391719A (zh) * | 2017-07-31 | 2017-11-24 | 南京邮电大学 | 一种云环境中分布式流数据处理方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘光俊等: "基于一车一协议配置化Spark实时流数据解析的研究与应用", 《通讯世界》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542946A (zh) * | 2018-10-26 | 2019-03-29 | 贵州斯曼特信息技术开发有限责任公司 | 一种实时计算大数据系统和方法 |
CN110489451A (zh) * | 2019-08-13 | 2019-11-22 | 成都飞机工业(集团)有限责任公司 | 基于迭代统计的流计算方法 |
CN112749201A (zh) * | 2019-10-30 | 2021-05-04 | 北京国双科技有限公司 | 结构化数据处理方法及系统 |
CN112328597A (zh) * | 2020-11-06 | 2021-02-05 | 北京航云物联信息技术有限公司 | 一种基于表的流计算方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7170779B2 (ja) | 自動的な意図のマイニング、分類、及び配置のための方法及びシステム | |
CN108256045A (zh) | 实时流数据的结构化解析、流计算的方法及计算机设备 | |
CN106790718A (zh) | 服务调用链路分析方法及系统 | |
CN109657072B (zh) | 一种应用于政府辅助决策的智能搜索web系统及方法 | |
JP2022031625A (ja) | 情報をプッシュするための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
Ahmed et al. | A literature review on NoSQL database for big data processing | |
CN108664635B (zh) | 数据库统计信息的获取方法、装置、设备和存储介质 | |
KR102345410B1 (ko) | 빅데이터 지능형 수집 방법 및 장치 | |
CN108228743A (zh) | 一种实时大数据搜索引擎系统 | |
CN110765402A (zh) | 一种基于网络资源的可视化采集系统及采集方法 | |
Murthy et al. | TwitSenti: a real-time Twitter sentiment analysis and visualization framework | |
Devika et al. | A semantic graph-based keyword extraction model using ranking method on big social data | |
JP6781820B2 (ja) | 分散コンピューティングフレームワーク及び分散コンピューティング方法(distributed computing framework and distributed computing method) | |
Nodarakis et al. | Using hadoop for large scale analysis on twitter: A technical report | |
Kumar et al. | COVID19 tweeter dataset sentiment analysis | |
CN109284088B (zh) | 一种信令大数据处理方法及电子设备 | |
CN110874366A (zh) | 数据处理、查询方法和装置 | |
CN108846003A (zh) | 一种非结构化机器数据处理方法及装置 | |
CN111984797A (zh) | 客户身份识别装置及方法 | |
CN116467291A (zh) | 一种知识图谱存储与搜索方法及系统 | |
Wadhera et al. | A systematic Review of Big data tools and application for developments | |
CN112528197B (zh) | 一种基于人工智能的网络舆情实时监测的系统及方法 | |
CN109740097A (zh) | 一种基于逻辑链接块的网页正文抽取方法 | |
WO2022263069A1 (en) | Method for analyzing data consisting of a large number of individual messages, computer program product and computer system | |
CN106682107B (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 |