博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kafka消息模拟器
阅读量:5890 次
发布时间:2019-06-19

本文共 1559 字,大约阅读时间需要 5 分钟。

package clickstreamimport java.util.{Properties, Random, UUID}import kafka.producer.{KeyedMessage, Producer, ProducerConfig}import org.codehaus.jettison.json.JSONObject/**  * Created by 郭飞 on 2016/5/31.  */object KafkaMessageGenerator {  private val random = new Random()  private var pointer = -1  private val os_type = Array(    "Android", "IPhone OS",    "None", "Windows Phone")  def click() : Double = {    random.nextInt(10)  }  def getOsType() : String = {    pointer = pointer + 1    if(pointer >= os_type.length) {      pointer = 0      os_type(pointer)    } else {      os_type(pointer)    }  }  def main(args: Array[String]): Unit = {    val topic = "user_events"    //本地虚拟机ZK地址    val brokers = "hadoop1:9092,hadoop2:9092,hadoop3:9092"    val props = new Properties()    props.put("metadata.broker.list", brokers)    props.put("serializer.class", "kafka.serializer.StringEncoder")    val kafkaConfig = new ProducerConfig(props)    val producer = new Producer[String, String](kafkaConfig)    while(true) {      // prepare event data      val event = new JSONObject()      event        .put("uid", UUID.randomUUID())//随机生成用户id        .put("event_time", System.currentTimeMillis.toString) //记录时间发生时间        .put("os_type", getOsType) //设备类型        .put("click_count", click) //点击次数      // produce event message      producer.send(new KeyedMessage[String, String](topic, event.toString))      println("Message sent: " + event)      Thread.sleep(200)    }  }}作者:MichaelFly链接:http://www.jianshu.com/p/ccba410462ba來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

你可能感兴趣的文章
云im php,网易云IM
查看>>
DEFERRED_SEGMENT_CREATION
查看>>
Ada boost学习
查看>>
开源 java CMS - FreeCMS2.3字典管理
查看>>
block,inline和inline-block概念和区别
查看>>
移动端常见随屏幕滑动顶部固定导航栏背景色透明度变化简单jquery特效
查看>>
javascript继承方式详解
查看>>
白话讲反射技术 --- 适合初学者入门引导
查看>>
css变形 transform
查看>>
win7家庭版添加组策略编辑器
查看>>
lnmp环境搭建
查看>>
自定义session扫描器精确控制session销毁时间--学习笔记
查看>>
【转】EDK简单使用流程(3)
查看>>
Ubuntu中无法update的解决办法
查看>>
仿射变换
查看>>
decltype类型指示符
查看>>
虹软ArcFace人脸识别 与 Dlib 人脸识别对比
查看>>
laravel 验证码使用示例
查看>>
IE开发人员工具无法使用
查看>>
分页器(自定制)
查看>>