StructuredStreaming与Kafka整合案例(pyspark版本)

使用pyspark中的structruedStreaming和kafka整合,错误比较多,解决了大量的兼容问题,全文亲测可用。

一、官网

http://spark,apache.org/docs/latest/structured-streaming-kafka-integration.html

Apache Kafka 是目前最流行的一个分布式的实时流消息系统,给下游订阅消费系统提供了并行处理和可靠容错机制

现在大公司在流式数据的处理场景,Kafka基本是标配。

Structured streaminq能够很好的集成Kafka,从Kafka拉取消息,然后就可以把流数据看做一个DataFrame,一张无限增长的大表,在这个大表上做查询,Structured Streaming保证了端到端的exactly-once,用户只需要关心业务即可,不用费心去关心底层是怎么做的Structuredstreaming既可以从Kafka读取数据,还可以向Kafka写入数据.

Structured Streaming + Kafka Integration Guide (Kafka broker version 0.10.0 or higher) - Spark 3.5.3 Documentation

读取数据:kafkaSource

二、实操案例

1、实时ETL

package com.bigdata.moni;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class StationLog {

        private String stationId;
        private String callOut;
        private String callIn;
        private String callStatus;
        private long callTime;
        private int duration;

}
package com.bigdata.moni;

import lombok.val;
import org.apache.kafka.clients.producer.*;

import java.util.List;
import java.util.Properties;
import java.util.Random;

public class SendStationLogProducer {


    public static void main(String[] args) throws InterruptedException {
        Properties properties = new Properties();
        // 这个里面肯定有给哪个服务器哪个topic发消息
        // 设置连接kafka集群的ip和端口
        properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"bigdata01:9092");
        properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闫哥大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值