作者:Syn良子 出处:https://www.cnblogs.com/cssdongl/p/9715735.html 转载请注明出处

Druid的数据采集格式


Druid可以采集非标准化的数据诸如JSON,CSV或者以某种分隔符隔开的TSV格式,当然还支持自定义格式.虽然大部分的文档使用JSON格式,但是通过druid来配置支持其他的限定格式也不是很难.

当前支持的格式化数据


  1. 列表项

JSON

{"timestamp": "2013-08-31T01:02:33Z", "page": "Gypsy Danger", "language" : "en", "user" : "nuclear", "unpatrolled" : "true", "newPage" : "true", "robot": "false", "anonymous": "false", "namespace":"article", "continent":"North America", "country":"United States", "region":"Bay Area", "city":"San Francisco", "added": 57, "deleted": 200, "delta": -143}

CSV

2013-08-31T01:02:33Z,"Gypsy Danger","en","nuclear","true","true","false","false","article","North America","United States","Bay Area","San Francisco",57,200,-143

TSV

2013-08-31T01:02:33Z    "Gypsy Danger"  "en"    "nuclear"   "true"  "true"  "false" "false" "article"   "North America" "United States" "Bay Area"  "San Francisco" 57  200 -143

需要注意的是CSV,TSV不能包含列头,这点在数据采集的时候一定要注意

自定义格式


Druid支持使用正则解析和JavaScript来自定义数据格式.但是这种方式并没有自己实现的Java解析器或者额外的流式处理工具效率更高.

配置数据采集的schema


什么是data schema?其实就是Druid的index数据摄取任务需要的数据源的描述的元数据.它主要描述要采集的数据类型,数据由哪些列构成,哪些是指标列,哪些是维度列,时间的粒度等.

以CSV格式举例

"parseSpec": {
"format" : "csv",
"timestampSpec" : {"column" : "timestamp"
},
"columns" : ["timestamp","page","language","user","unpatrolled","newPage","robot","anonymous","namespace","continent","country","region","city","added","deleted","delta"],
"dimensionsSpec" : {"dimensions" : ["page","language","user","unpatrolled","newPage","robot","anonymous","namespace","continent","country","region","city"]
}}

parseSpec指明了数据源格式,这里是format中表明是CSV格式,然后说明时间戳字段名是timestamp,数据字段名是columns里面那一堆,dimensionsSpec则代表哪些字段可以作为维度.

参考资料:Druid的数据格式

转载于:https://www.cnblogs.com/cssdongl/p/9715735.html

Druid学习之路 (四)Druid的数据采集格式相关推荐

  1. Java多线程学习之路(四)---死锁(DeadLock)

    Java多线程学习之路(四)-死锁(DeadLock) 1.定义 死锁就是多个线程在竞争共享资源的时候,相互阻塞,不能脱身的状态(个人理解).其实死锁一定程度上可以看成一个死循环. 举个现实生活中的例 ...

  2. typescript学习之路(四) —— ts类的继承(包含es5以及es6的类继承)

    上一文已经写了es5,es6等类的定义,所以本章主要写es5和es6的继承,由于es6的继承和ts的继承如出一辙,只是加了类型定义而已,所以ts的继承稍微写下,不会太详细. 文章目录 es5继承 原型 ...

  3. Druid学习之路 (二)Druid架构

    作者:Syn良子 出处:https://www.cnblogs.com/cssdongl/p/9608812.html 转载请注明出处 Druid架构 Druid原本就设计为一个容易操作的面向云的多进 ...

  4. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  5. metasploit学习之路(四)记一次实战--永恒之蓝(MS017-010)

    在我的metasploit的学习博客中,也算是实操的一篇,可以对使用流程和一些必要的命令进行学习. 永恒之蓝这个漏洞我没有复现过,但是这一次偶然的机会玩了一把. 大佬在讲台上面传授经验,用的是wind ...

  6. Hive学习之路(四):Hive内置函数介绍与实现WordCount

    内容简介 一.Hive内置函数介绍 二.Hive常用内置函数介绍 1.数值计算函数 2.字符串操作函数 3.日期函数 4.聚合函数 5.表生成函数 三.使用Hive函数完成WordCount 1.创建 ...

  7. 前端Vue学习之路(四)axios请求数据

    axios 1.增加新知识 2.旧方案 3.新方案(一) 4.为什么要用拦截器 (新方案二) 1.增加新知识 假如每个组件都引用axios,后期如果axios库不再维护了,那每个组件都要改动 所以封装 ...

  8. 【python3的学习之路四】使用list和tuple

    list list是一种有序的集合,可以随时添加和删除其中的元素.当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(class ...

  9. RxJS学习之路四(Operators(1))

    什么是Operators Operators是用来操作处理Observable 的一个函数,对单个或多个Observable进行一定处理后返回新的Observable. 描述各种Operators的功 ...

最新文章

  1. openAL在mac下播放音源结束时判断处理
  2. 2.7 程序示例--多分类问题-机器学习笔记-斯坦福吴恩达教授
  3. JavaScript对Json的增删改属性
  4. Eclipse自动代码补全
  5. php 获取今天数据,ThinkPHP 按日期获取今天获取本周获取本月获取今年数据
  6. svn添加到windows服务中
  7. JS,Jquery获取select,dropdownlist,checkbox 下拉列表框的值
  8. 苹果发布 AirTag 固件更新
  9. Atitti 类库 开发者 常用 api 目录 1.1. Meta anno注解元数据api 1 1.2. Ref 反射api 1 1.3. Database meta api 1 1.4.
  10. lammps教程:1D正弦粗糙界面建模建模教程
  11. Mockplus摹客:原型设计工具
  12. php 开源系统(cms),30个很棒的PHP开源CMS内容管理系统
  13. 2021-06-02-IPFS私有网络搭建
  14. 两台计算机能否共用一个ip地址,多台电脑共用一个WIFI,IP地址是不是一样?
  15. 解二元微分通解和特解的关系,量子力学中的奇异点分析与高数中通解与特解的关系
  16. 使用xlsxwriter简单的将截图插入excel表格中
  17. 论文阅读:Detecting Visual Relationships with Deep Relational Networks
  18. python是面向对象开发_Python之面向对象
  19. 2020科目一考试口诀_2021驾考科目一必过口诀
  20. 剑指Offer三天挑战赛16~32

热门文章

  1. java simplejson_JSON.simple首页、文档和下载 - JSON/BSON开发包 - OSCHINA - 中文开源技术交流社区...
  2. bcc挖矿用什么_BCC对BTC挖矿有何影响?
  3. 计算机桌面设置定时,如何设置可以每月自动变化的日历桌面?
  4. mysql 读取properties_JDBC中使用Properties读取配置文件有什么用
  5. spring源码分析第一天------源码分析知识储备
  6. 使用Linux进行c或c++编程
  7. 使用github+hexo搭建静态blog
  8. mysql定义条件和处理_mysql sql存储过程条件定义与处理
  9. 11有没有压力感应_特殊感应器赋予机械手多维触感
  10. Eclipse2020版本:pom.xml第一行报错:Could not initialize class org.apache.maven.plugin.war.