大数据处理实例——Amazon商品评分&评论(三)

本文介绍了在已有的全量数据集上模拟实时评论的三种实现方式,包括基于spool source、exec source的Flume实现以及自定义Storm Spout的实现。内容涉及Flume的spooldir模式、exec source与Storm Topology的结合,以及自定义Spout直接从文件读取数据。

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

背景

本系列的第二篇中给出了实时预处理部分的总体框架和Storm Topology的实现。在Storm处理之前,由于从Stanford获取的乐器类评价文件(Musical_Instruments_5.json)是某一段时间的全量数据集,所以也提到可以自己写个小应用来模拟实时评论。这里给出几种实现方案。

提前知识

关于Flume的原理,网上有很多参考资料。在本人的实时处理环境搭建过程中也给出了Flume+Kafka的配置文件,这里给出简单说明
(1)给出FlumeNG source, channel, sinks 的别名


agent.sources = r1
agent.channels = c1
agent.sinks = k1

(2)FlumeNG source配置,这里配置为spooldir模式,可以监控指定文件夹(agent.sources.r1.spoolDir)中的新文件变化,如果目录中有文件产生,就会立刻读取其内容


agent.sources.r1.type = spooldir
agent.sources.r1.spoolDir = /opt/flume/flumeSpool
agent.sources.r1.fileHeader = false
agent.sources.r1.channels = c1

(3)FlumeNG channel配置,channel 是一个存储地,接收 source 的输出,直到有 sink 消费掉 channel 中的数据。新版本的FlumeNG自带了KafkaChannel。实际上KafkaChannel包含producer和consumer,producer接受source发送过来的数据放到broker中,consumer从broker中pull数据给sink,目前一个channel只允许有一个topic。


agent.channels.c1.type = org.apache.flume.channel.kafka.KafkaChannel
agent.channels.c1.capacity = 10000
agent.channels.c1.transactionCapacity = 1000
agent.channels.c1.brokerLi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值