CN109960691A - 一种实现数据流向建立时序数据库的方法 - Google Patents
一种实现数据流向建立时序数据库的方法 Download PDFInfo
- Publication number
- CN109960691A CN109960691A CN201910216903.6A CN201910216903A CN109960691A CN 109960691 A CN109960691 A CN 109960691A CN 201910216903 A CN201910216903 A CN 201910216903A CN 109960691 A CN109960691 A CN 109960691A
- Authority
- CN
- China
- Prior art keywords
- data
- field
- value
- tags
- time series
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000006243 chemical reaction Methods 0.000 claims abstract description 18
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 8
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000001186 cumulative effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000032297 kinesis Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种实现数据流向建立时序数据库的方法,涉及数据库建立技术领域;将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式,对统一格式后的数据进行遍历,获取每条数据的字段名,并遍历字段名,当字段名不是timestamp、tags和字段名不包含_value时,对数据的字段进行处理转化,形成json格式新数据,所有json格式新数据组合成集合转发至时序数据库,完成数据的流入。
Description
技术领域
本发明公开一种实现数据流向建立时序数据库的方法,涉及数据库建立技术领域。
背景技术
Spark Streaming是Spark core API的扩展,支持实时数据流的处理,并且具有可扩展,高吞吐量,容错的特点。数据来源比较广泛,如Kafka,Flume,Kinesis或TCP sockets,并且可以使用复杂的算法进行处理,这些算法使用诸如map,reduce,join和window等高级函数表示。Spark Streaming处理后的数据可以推送到文件系统,数据库等。
时序数据是基于时间的一系列的数据。在有时间的坐标中将这些数据点连成线,往过去看可以做成多纬度报表,揭示其趋势性、规律性、异常性;往未来看可以做大数据分析,机器学习,实现预测和预警。时序数据库是存放时序数据的数据库,并且支持时序数据的快速写入、持久化、多纬度的聚合查询等基本功能。对比传统数据库仅仅记录了数据的当前值,时序数据库则记录了所有的历史数据。同时时序数据的查询将时间作为过滤条件。
本发明提供一种实现数据流向建立时序数据库的方法,由spark streaming将数据转化为时序数据库支持的数据格式,推送到时序数据库,完成数据流向时序数据库,建立时序数据库的目的。
发明内容
本发明针对现有技术的问题,提供一种基于sparkstreaming实现数据流向时序数据库的方法,本发明提出的具体方案是:
一种实现数据流向建立时序数据库的方法,将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式,
对统一格式后的数据进行遍历,获取每条数据的字段名,并遍历字段名,当字段名不是timestamp、tags和字段名不包含_value时,对数据的字段进行处理转化,形成json格式新数据,所有json格式新数据组合成集合转发至时序数据库,完成数据的流入。
所述的方法中基于Spark Streaming,利用sql语句将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式。
所述的方法中对数据的字段进行处理转化:新建jsonMap对象,增加四个Map对象,其中四个key分别为metric,_value,tags和timestamp,以数据的字段名作为metric值,以数据的字段名加上_value字段对应的数据作为value值,tags和timestamp字段对应的数据分别作为tags和timestamp的值,数据的字段转化成json格式新数据。
所述的方法中对统一格式后的数据进行遍历,判断遍历累加次数i是否小于数据中所含的字段集合list的长度,小于则执行数据字段的遍历操作和json格式新数据集合的拼接操作,否则执行获取json格式新数据集合的操作。
所述的方法中遍历累加次数小于数据中所含的字段集合的长度,判断list(i)字段是否为tags,timenstamp或是包含_value,不是tags,timenstamp或是不包含_value,将list(i)字段作为metric值,并结合tags、timestamp以及list(i)_value三个字段转化成json格式新数据。
一种时序数据库,用上述所述的方法建立的时序数据库。
一种实现数据流向建立时序数据库的工具,包括数据转换获取单元、数据处理单元及数据发送单元,
数据转换获取单元将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式,
对统一格式后的数据,数据处理单元进行遍历,获取每条数据的字段名,并遍历字段名,当字段名不是timestamp、tags和字段名不包含_value时,对数据的字段进行处理转化,形成json格式新数据,
数据发送单元将所有json格式新数据组合成集合转发至时序数据库,完成数据的流入。
所述的工具中数据转换获取单元基于Spark Streaming,利用sql语句将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式。
所述的工具中数据处理单元对数据的字段进行处理转化:新建jsonMap对象,增加四个Map对象,其中四个key分别为metric,_value,tags和timestamp,以数据的字段名作为metric值,以数据的字段名加上_value字段对应的数据作为value值,tags和timestamp字段对应的数据分别作为tags和timestamp的值,数据的字段转化成json格式新数据。
所述的工具中对统一格式后的数据,数据处理单元进行遍历,判断遍历累加次数i是否小于数据中所含的字段集合list的长度,小于则执行数据字段的遍历操作和json格式新数据集合的拼接操作,否则执行获取json格式新数据集合的操作。
本发明的有益之处是:
本发明提供一种实现数据流向建立时序数据库的方法,将数据源中需要流向时序数据库的数据的字段转化数据的统一格式,对数据进行遍历,获取每条数据的字段名,当字段名不是timestamp、tags和字段名不包含_value时,对数据的字段进行处理转化,形成json格式新数据,所有json格式新数据组合成集合转发至时序数据库,完成数据的流入;与现有技术相比,本发明除了处理数据源中单条数据更加快速外,十分方便处理数据源中包含多个统计字段的情况,能够简单、及时的将多个统计字段的数据推送至时序数据库,同时减少了对时序数据库的访问量,提高了数据推送至时序数据库的效率,提高了时序数据库服务的稳定性,达到了数据操作的高效性。
附图说明
图1是本发明方法流程示意图。
具体实施方式
本发明提供一种实现数据流向建立时序数据库的方法,将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式,
对统一格式后的数据进行遍历,获取每条数据的字段名,并遍历字段名,当字段名不是timestamp、tags和字段名不包含_value时,对数据的字段进行处理转化,形成json格式新数据,所有json格式新数据组合成集合转发至时序数据库,完成数据的流入。
同时提供与上述方法相应的一种时序数据库,还提供了与上述方法相对应的实现数据流向建立时序数据库的工具,包括数据转换获取单元、数据处理单元及数据发送单元,
数据转换获取单元将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式,
对统一格式后的数据,数据处理单元进行遍历,获取每条数据的字段名,并遍历字段名,当字段名不是timestamp、tags和字段名不包含_value时,对数据的字段进行处理转化,形成json格式新数据,
数据发送单元将所有json格式新数据组合成集合转发至时序数据库,完成数据的流入。
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
利用本发明方法或工具,以建立某一时序数据库为例,具体步骤为:
步骤1:设定数据源中的原始数据为_data,基于Spark Streaming,输入满足条件的sql语句,
步骤2:利用sparks ql将原始数据_data转化为包含key1,key1_value,key2,key2_value,…,timestamp和tags字段的数据data,其中key1,key2…根据实际数据字段的不同而不同,比如temperature,temperature_value,humidity,humidity_value…,
步骤3:设置data中所含的字段集合为list,设置json格式新数据的集合为result,并初始化result=“[”,初始化遍历累加参数i=0;
步骤4:判断遍历累加参数值是否小于list的长度,如果小于则执行遍历字段操作和拼接json格式新数据的集合操作,其中遍历累加参数值i小于list的长度时,判断list(i)字段是否为tags,timenstamp或是包含_value,不是上述描述的字段时,可以利用新建jsonMap对象,增加四个Map对象的方式进行赋值,其中四个key分别为metric,_value,tags和timestamp,以数据的字段名作为metric值,以数据的字段名加上_value字段对应的数据作为value值,tags和timestamp字段对应的数据分别作为tags和timestamp的值,数据的字段转化成json格式新数据,
即将list(i)字段作为metric,并结合tags,timestamp以及list(i)_value三字段组合为一条json数据,格式为{"metric":getValue("keyn"),"value":getValue("keyn_value"),"timestamp":getValue("timestamp"),"tags":getValue("tags")},该数据格式满足时序数据库数据要求,遍历累加参数值值i加1;
如果不小于,则获取json格式新数据的集合,进行步骤5调用时序数据库写入数据的接口,将result发送至时序数据库的操作,
步骤6:循环执行步骤3和步骤4,直到i的值与list的长度相同,对json格式新数据的集合进行结果处理,并调用时序数据库写入数据的接口,将result发送至时序数据库,完成数据推送。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (10)
1.一种实现数据流向建立时序数据库的方法,其特征是
将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式,
对统一格式后的数据进行遍历,获取每条数据的字段名,并遍历字段名,当字段名不是timestamp、tags和字段名不包含_value时,对数据的字段进行处理转化,形成json格式新数据,所有json格式新数据组合成集合转发至时序数据库,完成数据的流入。
2.根据权利要求1所述的方法,其特征是基于Spark Streaming,利用sql语句将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式。
3.根据权利要求1或2所述的方法,其特征是对数据的字段进行处理转化:新建jsonMap对象,增加四个Map对象,其中四个key分别为metric,_value,tags和timestamp,以数据的字段名作为metric值,以数据的字段名加上_value字段对应的数据作为value值,tags和timestamp字段对应的数据分别作为tags和timestamp的值,数据的字段转化成json格式新数据。
4.根据权利要求3所述的方法,其特征是对统一格式后的数据进行遍历,判断遍历累加次数i是否小于数据中所含的字段集合list的长度,小于则执行数据字段的遍历操作和json格式新数据集合的拼接操作,否则执行获取json格式新数据集合的操作。
5.根据权利要求4所述的方法,其特征是遍历累加次数小于数据中所含的字段集合的长度,判断list(i)字段是否为tags,timenstamp或是包含_value,不是tags,timenstamp或是不包含_value,将list(i)字段作为metric值,并结合tags、timestamp以及list(i)_value三个字段转化成json格式新数据。
6.一种时序数据库,其特征是利用权利要求1-5任一所述的方法建立的时序数据库。
7.一种实现数据流向建立时序数据库的工具,其特征是包括数据转换获取单元、数据处理单元及数据发送单元,
数据转换获取单元将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式,
对统一格式后的数据,数据处理单元进行遍历,获取每条数据的字段名,并遍历字段名,当字段名不是timestamp、tags和字段名不包含_value时,对数据的字段进行处理转化,形成json格式新数据,
数据发送单元将所有json格式新数据组合成集合转发至时序数据库,完成数据的流入。
8.根据权利要求7所述的工具,其特征是数据转换获取单元基于SparkStreaming,利用sql语句将数据源中需要流向时序数据库的数据的字段转化为字段和字段_value的形式,同时加上数据源中原有的timestamp和tags,作为数据的统一格式。
9.根据权利要求7或8所述的工具,其特征是数据处理单元对数据的字段进行处理转化:新建jsonMap对象,增加四个Map对象,其中四个key分别为metric,_value,tags和timestamp,以数据的字段名作为metric值,以数据的字段名加上_value字段对应的数据作为value值,tags和timestamp字段对应的数据分别作为tags和timestamp的值,数据的字段转化成json格式新数据。
10.根据权利要求9所述的工具,其特征是对统一格式后的数据,数据处理单元进行遍历,判断遍历累加次数i是否小于数据中所含的字段集合list的长度,小于则执行数据字段的遍历操作和json格式新数据集合的拼接操作,否则执行获取json格式新数据集合的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910216903.6A CN109960691B (zh) | 2019-03-21 | 2019-03-21 | 一种实现数据流向建立时序数据库的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910216903.6A CN109960691B (zh) | 2019-03-21 | 2019-03-21 | 一种实现数据流向建立时序数据库的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109960691A true CN109960691A (zh) | 2019-07-02 |
CN109960691B CN109960691B (zh) | 2023-04-14 |
Family
ID=67024611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910216903.6A Active CN109960691B (zh) | 2019-03-21 | 2019-03-21 | 一种实现数据流向建立时序数据库的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109960691B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061787A (zh) * | 2019-11-21 | 2020-04-24 | 新浪网技术(中国)有限公司 | 一种关系型数据库中对象关系的处理方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093001A (zh) * | 2013-02-27 | 2013-05-08 | 人民搜索网络股份公司 | 微博数据解析方法及装置 |
CN107273482A (zh) * | 2017-06-12 | 2017-10-20 | 北京市天元网络技术股份有限公司 | 基于HBase的告警数据存储方法及装置 |
CN108255689A (zh) * | 2018-01-11 | 2018-07-06 | 哈尔滨工业大学 | 一种基于历史任务分析的Apache Spark应用自动化调优方法 |
US20180314722A1 (en) * | 2017-04-28 | 2018-11-01 | Microsoft Technology Licensing, Llc | Parser for Schema-Free Data Exchange Format |
CN108984279A (zh) * | 2018-07-02 | 2018-12-11 | 山东汇贸电子口岸有限公司 | 一种面向物联网传统sql开发人员的流式计算方法 |
CN109359153A (zh) * | 2018-12-27 | 2019-02-19 | 杭州全维技术股份有限公司 | 基于django数据库改变数据显示内容的方法 |
-
2019
- 2019-03-21 CN CN201910216903.6A patent/CN109960691B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103093001A (zh) * | 2013-02-27 | 2013-05-08 | 人民搜索网络股份公司 | 微博数据解析方法及装置 |
US20180314722A1 (en) * | 2017-04-28 | 2018-11-01 | Microsoft Technology Licensing, Llc | Parser for Schema-Free Data Exchange Format |
CN107273482A (zh) * | 2017-06-12 | 2017-10-20 | 北京市天元网络技术股份有限公司 | 基于HBase的告警数据存储方法及装置 |
CN108255689A (zh) * | 2018-01-11 | 2018-07-06 | 哈尔滨工业大学 | 一种基于历史任务分析的Apache Spark应用自动化调优方法 |
CN108984279A (zh) * | 2018-07-02 | 2018-12-11 | 山东汇贸电子口岸有限公司 | 一种面向物联网传统sql开发人员的流式计算方法 |
CN109359153A (zh) * | 2018-12-27 | 2019-02-19 | 杭州全维技术股份有限公司 | 基于django数据库改变数据显示内容的方法 |
Non-Patent Citations (1)
Title |
---|
柴亚刚: "基于时序数据库的分布式网络波动监控系统", 《中国传媒科技》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061787A (zh) * | 2019-11-21 | 2020-04-24 | 新浪网技术(中国)有限公司 | 一种关系型数据库中对象关系的处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109960691B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104050202B (zh) | 用于搜索数据库的方法和装置 | |
CN104620239B (zh) | 自适应查询优化 | |
US7340452B2 (en) | Parallel single cursor model on multiple-server configurations | |
Abadi et al. | An integration framework for sensor networks and data stream management systems | |
CN103138981B (zh) | 一种社交网络分析方法和装置 | |
US20170255673A1 (en) | Batch Data Query Method and Apparatus | |
CN103176974A (zh) | 优化数据库中访问路径的方法和装置 | |
WO2015094269A1 (en) | Hybrid flows containing a continuous flow | |
CN108460102A (zh) | 社交网络数据查询方法、装置、计算机设备和存储介质 | |
CN107870949A (zh) | 数据分析作业依赖关系生成方法和系统 | |
CN103793467A (zh) | 一种基于超图和动态规划的大数据实时查询优化方法 | |
WO2020206952A1 (zh) | 一种图数据库的数据导入方法及装置 | |
CN109960691A (zh) | 一种实现数据流向建立时序数据库的方法 | |
CN106484591A (zh) | 一种基于分布式系统的数据采集方法及采集系统 | |
CN105378724B (zh) | 一种数据查询方法、装置及系统 | |
CN110569399A (zh) | 基于pinpoint日志的链路构建方法 | |
CN106779150B (zh) | 一种大规模知识图谱复杂路径查询的视图物化方法 | |
Fiannaca et al. | Benchmarking of relational and nosql databases to determine constraints for querying robot execution logs | |
CN103900822A (zh) | 发动机台架性能柔性测试系统 | |
CN106844712A (zh) | 采用流式计算进行爬取数据的实时分析的实现方法 | |
CN103577560B (zh) | 一种输入数据库操作指令的方法和装置 | |
CN107766442B (zh) | 一种海量数据关联规则挖掘方法及系统 | |
CN113704296A (zh) | 一种基于Spark SQL的计算下推查询优化方法 | |
CN106126542B (zh) | 一种访问路径的管理方法 | |
CN112559774B (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 |