三. Apache Griffin基于Spark Streaming流数据质量监控实战

该博客介绍了如何使用Apache Griffin对Kafka中的Spark Streaming流数据进行质量监控。首先,准备包含JDK、Hadoop、Spark、Kafka和Zookeeper的环境。接着,构建Griffin测量模块,创建和准备数据,然后定义数据质量指标。通过Spark提交测量作业,报告并优化数据质量指标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据集

假设我们在不同的 kafka 主题(源、目标)中有两个流数据集,我们需要根据源数据集知道目标数据集的数据质量如何。

为简单起见,假设两个主题的数据都是 json 字符串,如下所示

{
   "id": 1, "name": "Apple", "color": "red", "time": "2018-09-12_06:00:00"}
{
   "id": 2, "name": "Banana", "color": "yellow", "time": "2018-09-12_06:01:00"}
...

环境准备

为 Apache Griffin 测量模块准备环境,包括以下组件:

  • JDK (1.8+)
  • Hadoop (2.6.0+)
  • Spark (2.2.1+)
  • Kafka (0.8.x)
  • Zookeeper (3.5+)

有关以上组件的详细的配置过程,可以参考griffin/griffin-doc/deploy,本文假定以上环境均已配置完毕。
有关版本匹配的信息,可参考https://github.com/apache/griffin/blob/master/griffin-doc/deploy/measure-build-guide.md

构建 Apache Griffin 测量模块

1.在此处下载 Apache Griffin 源包。
2.解压源包。

unzip griffin-0.4.0-source-release.zip
cd griffin-0.4.0-source-release

3.构建 Apache Griffin jar

mvn clean install

并将构建的 apache griffin jar包移动到项目路径中

mv measure/target/measure-0.4.0.jar <work path>/griffin-measure.jar

数据准备

为了快速开始,我们利用kafka shell创建两个 kafka 主题(源、目标)并为它们生成 json 字符串格式的数据。

# create topics
# Note: it just works for kafka 0.8
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic source
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic target

数据格式类似于这样:

{
   "id": 1, "name": "Apple", "color": "red", "time": "2018-09-12_06:00:00"}
{
   "id": 2, 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值