开发过程中代码会随着开发进度进行变更,解决bug和进行优化、功能新增等
最新的代码可以再Gitee中获取:SparkStreamingDemand: 完整的sparkStreaming项目开发代码记录
1、获取kafka数据流
1.1 获取指定主题的kafka数据流,返回字符数据流
//获取指定主题的kafka数据流,返回字符数据流
//getKafkaPara KafkaUtil
def getKafkaData(topicName:String): InputDStream[ConsumerRecord[String, String]] = {
//定义 Kafka 参数
val kafkaPara: Map[String, Object] = getKafkaPara(topicName)
val inputDStream: InputDStream[ConsumerRecord[String, String]] =
KafkaUtils.createDirectStream[String, String](
sscGet(),
//ssc,
LocationStrategies.PreferConsistent,
ConsumerStrategies.Subscribe[String, String](Set(topicName), kafkaPara)
)
inputDStream
}
1.2 获取kafka输出流,并测试打印到控制台
val mySparkTopicDStream: InputDStream[ConsumerRecord[String, String]] = dao.kafkaToSpark(kafkaPara, "mySparkTopic")
mySparkTopicDStream.map(_.value()).print()