Flume+Kafka+SparkStreaming实时统计网站日志 -- 4、SparkStreaming实时统计

      在上一篇 Flume采集数据到Kafka 中,日志采集到了Kafka,接下来要使用Spark Streaming,根据不同需求来统计数据。
      开发时先在windows的idea上测试,那如何在windows上构建spark开发的环境,可以参考我的这篇文章 IDEA首次配置maven开发spark详细步骤。项目中需要的依赖可参考我的github中的pom.xml文件。

一、使用Kafka消费者API

      这里要注意Kafka的版本,使用老版本的API和新版本的API不相同。这里使用的是新版本的API,在新版本(kafka-0-10)中,取消了Receiver模式,只有Direct模式了。
      Spark使用Kafka消费者API的核心代码如下

val topic = config.getString("kafka.topic").split(",")
val kafkaParams = Map[String,Object](
    "bootstrap.servers" -> brokers,
    "key.deserializer" -> classOf[StringDeserializer],
    "value.deserializer" -> classOf[StringDeserializer],
    "group.id" -> groupId,
    "auto.offset.reset" -> "latest",
    "enable.auto.commit" -> (false:java.lang.Boolean)
  )
val messages = KafkaUtils.createDirectStream(ssc,
      LocationStrategies.PreferConsistent,
      ConsumerStrategies.Subscribe[String,String](topic,kafkaParams))

    // x.value获得数据里的值
    val logs = messages.map(x => x.value())

二、清洗数据

原来的数据格式是这样的

23.198.48.147	2019-11-26 17:28:01	
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值