scala书写kafka生产者代码示例

测试示例:
实时监控某一文件夹,若文件夹中含有.txt的文件,则将文件中的内容放进topic,然后将该文件删除,进行数据的生产

生产者类

import java.util.Properties

import kafka.producer.{KeyedMessage, Producer, ProducerConfig}

import scala.io.Source
import scala.reflect.io.Path


class KafkaProducerScala(brokerList:String,topic:String) extends Runnable{
  private val BROKER_LIST = brokerList //cdh1:9092,cdh2:9092,cdh5:9092
  private val TARGET_TOPIC = topic //topic_test_1
  private val DIR = "/home/SP-in-BD/zhengss/scripts/data/test"



  /**
    * 1、配置属性
    * metadata.broker.list : kafka集群的broker,只需指定2个即可
    * serializer.class : 如何序列化发送消息
    * request.required.acks : 1代表需要broker接收到消息后acknowledgment,默认是0
    * producer.type : 默认就是同步sync
    */
  private val props = new Properties()
  props.put("metadata.broker.list",this.BROKER_LIST)
  props.put("serializer.class","kafka.serializer.StringEncoder")
  props.put("request.required.acks","1")
  props.put("producer.type","async")

  /**
    * 2、创建Producer
    */
  private val config = new ProducerConfig(this.props)
  private val producer = new Producer[String,String](this.config)

  /**
    * 3、产生并发送消息
    * 搜索目录dir(/home/SP-in-BD/zhengss/scripts/data/test)下的所
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值