制造数据用kafka发送

import java.io.PrintWriter
import java.text.SimpleDateFormat
import java.util.{Date, Properties}

import org.apache.kafka.clients.producer.{KafkaProducer, ProducerRecord}

/**
  * Created by xiang on 2020/5/11.
  */
object SparkTrafficMockData {

  def main(args: Array[String]): Unit = {

    val write = new PrintWriter("./traffic/data.txt")
    var i = 0
    val props: Properties = new Properties
    props.put("bootstrap.servers", "192.168.182.149:9092,192.168.182.147:9092,192.168.182.148:9092")
    props.put("acks", "all")
    props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer")
    props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer")
    val producer = new KafkaProducer[String, String](props)


    while(i<=10000){
      //date 日期
      var time = new  SimpleDateFormat("yyyy-MM-dd").format( new java.util.Date())
      //卡口号
      var kakou  =   new java.util.Random().nextInt(20)
      var kakouS = kakou.formatted("%04d")
      //摄像头号
      var shexiangtou = new java.util.Random().nextInt(10000)
      var shexiangtouS = shexiangtou.formatted("%05d")
      //车牌号
      var paizhaoArea = Array("京","沪","粤","深","湘")
      var paizhao =  paizhaoArea( new java.util.Random().nextInt( paizhaoArea.length))
      var zimu  = ( new java.util.Random().nextInt(26) + 65).asInstanceOf[Char]
      var numberS = new java.util.Random().nextInt(99999)
      var numberZmu = numberS.formatted("%05d")
      var paizhaoHeji = paizhao+zimu+ numberZmu
      //拍照时间
      var timeS = new  SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( new Date())
      //车速
      var speed = new java.util.Random().nextInt(200)
      //道路编号
      var road = new java.util.Random().nextInt(50)
      var roadS = road.formatted("%02d")
      //区域编号
      var area = new java.util.Random().nextInt(10)
      var areaS = area.formatted("%02d")

      //将以上数据通过\t拼接成长字符串,
      var suijishu =  time + "\t" + kakouS + "\t" + shexiangtouS + "\t" + paizhaoHeji + "\t" + timeS +"\t"+ speed + "\t"+ roadS + "\t" + areaS
      println( suijishu)
      //TODO:将拼接好的长字符串通过kafka的生产者API将数发送到kafka
      producer.send(new ProducerRecord[String, String]("topic_car", suijishu))

      Thread.sleep(5000)

      //同时将以上数据保存到本地文件 data.txt
      //write.write(suijishu)
      //write.write("\n")
      i=i+1
    }
    write.close()
  }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值