简单回顾在上一篇介绍了如何将Flume的sink数据实时导入kafka。
本篇将主要介绍sparkstreaming消费kafka数据,将消费到的数据“kafkaStream”在spark清洗数据,得到清洗后的数据“clearStream”,处理数据(基于清洗后的数据算出8个指标)得到结果数据resultStream。最后将结果数据存储在mysql中。
Spark的数据来源有两种,第一种是基本来源,直接由StreamingContext对象提供方法。第二种是由扩展包提供的API,需要导入扩展包才可以使用,例如从Kafka、flume消费数据都是采用这种方式。
以下是具体代码实现:
package com.lj
import java.util.Calendar
import java.util.Random
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.streaming.Seconds
import org.apache.spark.streaming.StreamingContext
import org.apache.spark.streaming.kafka.KafkaUtils
import cn.tedu.utils.HbaseUtil