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 查看消费进度,可了解数据消费情况。

相关推荐
庄小焱35 分钟前
大数据治理域——数据资产管理示例
大数据·数据治理·大数据治理·数据治理实践
bailaoshi66637 分钟前
reactor-kafka无traceId
分布式·kafka
O***p6043 小时前
Java在分布式中的Archaius
java·开发语言·分布式
WordPress学习笔记3 小时前
专业建外贸网站公司推荐
大数据·前端·人工智能
Julian.zhou3 小时前
Anthropic破解长程任务难题:长期运行智能体的高效控制机制
大数据·人工智能
白日做梦Q6 小时前
Navicat for MySQL 详细使用指南:命令行操作与界面操作双视角全解析
大数据·mysql·adb·数据库开发
AI_56787 小时前
AI知识库如何重塑服务体验
大数据·人工智能
你好~每一天7 小时前
从传统行业到AI入门:我的CAIE Level I学习体验与思考
大数据·数据结构·人工智能·学习·jupyter·idea
G皮T8 小时前
【Elasticsearch】索引别名 aliases
大数据·elasticsearch·搜索引擎·es·索引·索引别名·aliases
wyiyiyi8 小时前
【数据结构+算法】非递归遍历二叉树的理解
大数据·数据结构·笔记·算法·leetcode·数据分析