kafka mysql数据源_streaming+kafka 数据来源mysql数据库

本文介绍了如何使用Apache Spark Streaming与Kafka进行集成,展示了如何设置生产者并从MySQL数据库收集数据,然后实时发送到指定主题。通过实例展示了如何配置SparkConf、创建KafkaProducer和执行数据推送操作。
摘要由CSDN通过智能技术生成

package spark

import java.util.Properties

import java.util.HashMap

import org.apache.kafka.clients.producer._

import org.apache.spark.SparkConf

import org.apache.spark.streaming._

import org.apache.spark.streaming.kafka._

import org.apache.spark.sql.SQLContext

import org.apache.spark.{ SparkContext, SparkConf }

import spark.bean.orders

object SelectFromOneTable {

def main(args: Array[String]) {

val Array(brokers, topic, wordsPerMessage) = Array("localhost:9092", "sun_test", "1")

val props = new HashMap[String, Object]()

props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, brokers)

props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,

"org.apache.kafka.common.serialization.StringSerializer")

props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,

"org.apache.kafka.common.serialization.StringSerializer")

props.put("serializer.class", "kafka.serializer.StringEncoder")

props.put("producer.type", "async")

val producer = new KafkaProducer[String, String](props)

val sparkConf = new SparkConf().setAppName("Spark SQL Test Case").setMaster("local")

val sparkContext = new SparkContext(sparkConf)

val sqlContext = new SQLContext(sparkContext)

val url = "jdbc:mysql://localhost:3306/sun_test?user=root&password=Sun@123";

val prop = new Properties();

val df = sqlContext.read.jdbc(url, "flow", prop).collect()

for (a

println(a)

val message = new ProducerRecord[String, String](topic, null, a.toString())

producer.send(message)

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值