Spark-Streaming核心编程

  1. Kafka数据源的两种API对比

ReceiverAPI:在早期版本中使用,需专门的Executor接收数据再发送给其他Executor计算。由于接收和计算的Executor速度可能不同,当接收速度大于计算速度时,计算节点易出现内存溢出问题,当前版本已不适用。

DirectAPI:由计算的Executor主动消费Kafka数据,速度可自行控制。

  1. Kafka 0-10 Direct模式实践

需求:利用SparkStreaming从Kafka读取数据,进行简单计算后打印到控制台。

导入依赖:添加 org.apache.spark:spark - streaming - kafka - 0 - 10_2.12:3.0.0 依赖,为后续代码实现提供支持。

代码编写:创建SparkConf和StreamingContext,设置相关参数。定义Kafka参数,通过KafkaUtils.createDirectStream读取Kafka数据创建DStream,提取数据中的value部分,进行wordCount计算并打印结果,最后启动StreamingContext等待终止。

环境准备与操作流程:开启Kafka集群;使用 kafka - console - producer.sh 启动Kafka生产者并向指定topic发送数据;运行程序处理Kafka生产的数据;通过 kafka - consumer - groups.sh 查看消费进度,可了解数据消费情况。

相关推荐
黄雪超9 分钟前
Kafka——消费者组消费进度监控都怎么实现?
大数据·分布式·kafka
java叶新东老师1 小时前
RabbitMq 常用命令和REST API
分布式·rabbitmq·ruby
虚伪的空想家2 小时前
记录es收集日志报错问题as the final mapping would have more than 1 type[XXX,doc]
大数据·elasticsearch·搜索引擎·容器·kubernetes·log-pilot
liulilittle6 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
码字的字节7 小时前
ZooKeeper在Hadoop中的协同应用:从NameNode选主到分布式锁实现
hadoop·分布式·zookeeper·分布式锁
武子康9 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
数据与人工智能律师11 小时前
数字迷雾中的安全锚点:解码匿名化与假名化的法律边界与商业价值
大数据·网络·人工智能·云计算·区块链
mykyle14 小时前
Elasticsearch-ik分析器
大数据·elasticsearch·jenkins
itLaity14 小时前
基于Kafka实现简单的延时队列
spring boot·分布式·kafka
qq_5298353514 小时前
Zookeeper的简单了解
分布式·zookeeper·云原生