Spark-Streaming核心编程

Kafka命令行的使用

创建 topic

kafka-topics.sh --create --zookeeper node01:2181,node02:2181,node03:2181 --topic test1 --partitions 3 --replication-factor 3

分区数量,副本数量,都是必须的。

数据的形式:

主题名称-分区编号。

在Kafka的数据目录下查看

设定副本数量,不能大于broker的数量。

查看所有的topic(list)

kafka-topics.sh --list --zookeeper node01:2181,node02:2181,node03:2181

查看某个topic的详细信息(describe)

kafka-topics.sh --describe --zookeeper node01:2181,node02:2181,node03:2181 --topic test1

删除topic(delete)

kafka-topics.sh --delete --zookeeper node01:2181,node02:2181,node03:2181 --topic test1

生产数据

使用 Kafka 生产数据的命令

kafka-console-producer.sh

指定broker

指定topic

写数据的命令:

kafka-console-producer.sh --broker-list node01:9092,node02:9092,node03:9092 --topic test1

**注意:**写数据,实际上就是写log, 追加日志。

可在kafka的/root/kafkadata目录下查看分区中log。

每一条数据,只存在于当前主题的一个分区中,所有的副本中,都有数据。

消费数据

使用 Kafka 消费数据的命令

kafka-console-consumer.sh --topic test1 --bootstrap-server node01:9092,node02:9092,node03:9092

**注意:**此命令会从日志文件中的最后的位置开始消费。

如果想从头开始消费:

kafka-console-consumer.sh --topic test1 --bootstrap-server node01:9092,node02:9092,node03:9092 --from-beginning

会从头(earliest)开始读取数据。

读取数据时,分区间的数据是无序的,分区中的数据是有序。

如果想指定groupid,可以通过参数来指定:

kafka-console-consumer.sh --topic test1 --bootstrap-server node01:9092,node02:9092,node03:9092 --from-beginning --consumer-property group.id=123

一个topic中的数据,只能被一个groupId所属的consumer消费一次。(记录偏移量)

DStream创建

Kafka数据源:

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

Kafka 0-10 Direct 模式

需求:通过 SparkStreaming 从 Kafka 读取数据,并将读取过来的数据做简单计算,最终打印到控制台。

导入依赖

编写代码

开启Kafka集群

开启Kafka生产者,产生数据

最后运行程序,接收Kafka生产的数据并进行相应处理。

相关推荐
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
一隅论数智2 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
尧炎科技2 天前
防潮抗变形,就选纯品梅花全桉多层板
大数据
程序员大阳2 天前
副队长大数据教程(5)--集群情况下虚拟机网络配置
大数据·集群·nat·网路
自由能燃气设备2 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远2 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
嘉立创FPC苗工2 天前
FPC与机器人的双向赋能,解锁智能装备进化新势能
大数据·人工智能·制造·fpc·电路板
AI职业加油站2 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
龙亘川2 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
码流子2 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构