flink kafka sink (scala)

将对象数据通过Gson 转为jsonString,在将数据写到kafka中,这个可以根据需要修改,比如按照\t分开也行,可以节省字段名称的空间。

这里还有一个问题,就是每来一条数据都需要new Gson 对象,有没有办法减少创建呢

我们知道job 和task之间是不能够传输序列化的对象的。

那么如果需要减少Gson的创建,可以自定义map函数,继承并实现RichMapFunction中的方法,其中open就可以只创建一次Gson。

data.map(new Gson().toJson(_))

.addSink(new FlinkKafkaProducerString("topicName", new SimpleStringSchema(), props, Optional.ofNullableFlinkKafkaPartitioner\[String](null)))

.uid("write-to-kafka")

.name("write-to-kafka")

自定义map:

private class DemoMap extends RichMapFunctionData, String {

var gson:Gson=_

override def open(parameters: Configuration): Unit = {

gson=new Gson()

}

override def map(value: Data): String = {

gson.toJson(value)

}

override def close(): Unit = {

}

}

相关推荐
ZCBUS实时计算5 小时前
金融证券实时数仓建设实践:轻量化实时计算平台落地,实现交易数据端到端秒级处理
大数据·数据库·数据仓库·金融·flink·dba·etl
富士康质检员张全蛋15 小时前
Kafka 事物
kafka
wear工程师1 天前
Kafka 消费者心跳正常,为什么还会被踢出组?拆清 max.poll.interval.ms
java·kafka
让头发掉下来2 天前
Flink SQL 中两个频繁变化 Topic 的 Join 行为分析
大数据·数据库·sql·flink
头茬韭菜2 天前
Apache Fluss 项目深度分析与技术文档系列计划
flink·spark·realtime·fluss
成为你的宁宁2 天前
【Kafka KRaft 集群】
分布式·kafka
渣渣盟2 天前
Flink 单流转换算子深度解析:从 Map 到 Reduce 的流式处理基石
大数据·flink
渣渣盟3 天前
Flink 写入 Elasticsearch 实战:从 Demo 到生产级深度解析
大数据·数据库·elasticsearch·flink
2601_960906723 天前
地球或逃逸到相对安全的日心轨道
kafka·hbase·flume·storm
creator_Li4 天前
Kafka深入刨析-Consumer
分布式·kafka