项目采集端通过爬虫采集微博相关数据,需要提供对数据的接入、清洗和存储。技术上实施流程为,爬虫将采集数据发送到消息队列(kafka)数据缓冲接入,队列后端通过spark stream进行消息流数据的清洗,并存储到hadoop平台,整个流程如图所示:
1.创建kafkatopic
如图,创建了一个名为weibodata的主题队列,指定分区(并发度)为5,消息备份为2。
2. 通过python接口往消息队列发送数据
python可以通过kafka-python库与kafka进行交互,所以首先安装kafka-python
2.1 通过生产者发送数据例子
创建一个kafka数据生产者,指定kafka集群连接地址,然后通过send方法,发送数据,第一个参数为topic主题队列,值为前面创建的’weibodata’,第二个参数就是需要发送的数据字符串。
2.1通过消费者接收数据例子