Waterdrop 是一个非常易用,高性能、支持实时流式和离线批处理的海量数据处理产品,架构于Apache Spark 和 Apache Flink之上。
1、 物联网数据背景
物联网业务发展迅速,从18年开始起步近两年发展,我们接入设备量已经达到数千万级别。设备每日产生的上行下行消息量近百亿级别,服务模块之间的模调日志量更是巨大,对我们日志采集统计、实时数据分析提出更高要求。 本文主要介绍waterdrop在物联网数据采集中的使用,详细说明参见 waterdrop 文档 。
2、数据收集架构
对于物联网数据,我们采用filebeat对各个业务服务进行日志收集到kafka,离线分析通过EMR平台存入hdfs中,实时统计通过flink来计算,还有一部分通过waterdrop消费kafka里的数据并进行数据提取,存储到clickhouse中,完成数据链路的处理。物联网数据采集架构如下。
3、Waterdrop 的特性
4、环境依赖
5、Waterdrop配置
5.1 source插件配置
source插件支持常见组件有Es、Fake、Hive、JDBC、KafkaStream,配置说明,我们使用消费kafka配置如下:
5.2 transform插件配置
filebeat采集的业务数据进行抽取,提取出业务统计有效值并进行数据格式转换。
5.3 sink模块配置
将抽取出的数据存入到clickhouse中,参数详细说明
6、ClickHouse数据
数据提取后结果展示,可以实现业务数据数亿级别秒级查询,方便业务信息的实时统计
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。