Flink

概论

有无界数据流定义:

****无界流:****有一个开始但是没有结束,不会在生成时终止并提供数据,必须连续处理无界流,也就是说必须在获取后立即处理event。对于无界数据流我们无法等待所有数据都到达,因为输入是无界的,并且在任何时间点都不会完成。处理无界数据流通常要求以特定顺序(例如事件发生的顺序)获取event,以便能够推断结果完整性。

****有界数据流:****有界数据流有明确定义的开始和结束,可以在执行任何计算之前通过获取所有数据来处理有界流,处理有界流不需要有序获取,因为可以始终对有界数据集进行排序,有界流的处理也称为批处理。

时序错乱:数据到达的时间和实际发生时间是不一致的,有一定的延迟,需要设计等待策略。

流处理与批处理:
一、批处理和实时流处理的区别
  • 批处理:对有界数据流的处理通常被称为批处理。批处理不需要有序地获取数据。在批处理模式下,首先将数据流持久化到存储系统(文件系统或对象存储)中,然后对整个数据集的数据进行读取、排序、统计或汇总计算,最后输出结果
  • 实时流处理:对于无界数据流,通常在数据生成时进行实时处理。因为无界数据流的数据输入是无限的,所以必须持续地处理。数据被获取后需要立刻处理,不可能等到所有数据都到达后再进行处理。处理无界数据流通常要求以特定顺序(如事件发生的顺序)获取事件,以便能够保证推断结果的完整性
二、批处理与流处理对比的特点
  • 批处理程序的容错不使用检查点。因为数据有限,所以恢复可以通过"完全重播"(重新处理)来实现。这种处理方式会降低常规处理的成本,因为它可以避免检查点
  • DataSet API中的有状态操作使用的是简化的内存数据结构,而不是键-值(Key-Value)索引
  • 在DataSet API中引入了特殊的同步迭代(基于超步),这只是在有界数据流上是可能的

分位延迟,平均延迟

平均吞吐和峰值吞吐

有状态计算

有状态计算可以类比一下count,sum操作,这时候就需要缓存之前的数据,才可以实现,这样的计算就是有状态的。

无状态计算

无状态计算可以类比一下select操作,来一条,操作一条,数据不用留在系统里面。


KAFKA

sh 复制代码
前提 进入kafka目录
zkServer.sh start#启动 zookeeper 

bin/kafka-server-start.sh -daemon config/server.properties  #启动kafka
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic testtp#创建生产者端口
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtp#创建消费者端口

sh 复制代码
cd /opt/bigdata/core/flink #进入 flink目录
[root@centos2020 flink]# bin/start-cluster.sh  #flink启动
[root@centos2020 flink]# bin/flink run -d ~/KafkaWordCount-1.0-SNAPSHOT-jar-with-dependencies.jar --bootstrap-servetstrap-server localhost:9092 --topic test-topic
#flink运行jar命令
sh 复制代码
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic testtp //创建生产者
bin/kafka-topics.sh --bootstrap-server 192.168.205.129:9092 --list//查询生产管道topic
//因调整卡夫卡配置需使用ip地址启动
sh 复制代码
1.启动zookeeper:zkServer.sh start
2.启动kafka:bin/kafka-server-start.sh -daemon config/server.properties
3.启动flink:bin/start-cluster.sh
4.创建topic:bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic testtp
5.查看topic:bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
sh 复制代码
6.模拟生产者-消费者模型:
  生产者:bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic testtp
  消费者:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtp
相关推荐
ACP广源盛1392462567314 分钟前
GSV6155@ACP# 搭配 AI 服务器、AI PC 完整适配方案
大数据·服务器·人工智能·分布式·单片机·嵌入式硬件
stonewl25992 小时前
2026化工行业 GHS/CLP 国产标签打印软件合规打印方案
大数据·人工智能·物联网
xywww1682 小时前
AWS 账号权限怎么分:根用户和 IAM 用户区别及日常使用建议
大数据·开发语言·人工智能·python·gpt·云计算·aws
牛奶咖啡133 小时前
大数据Hadoop运维应用实践——双NameNode高可用Hadoop集群架构(下)
大数据·hadoop·hadoop集群配置文件解析·hadoop高可用集群安装部署·配置指定多台服务器相互免密·配置hadoop服务开机自启·ansible部署hadoop
在水一缸3 小时前
深度解析 GPT-5.6:大模型架构演进与复杂任务实战指南
大数据·人工智能·gpt·架构·大模型·架构演进·gpt-5.6
无忧智库3 小时前
智慧电厂:引领发电行业新革命(PPT)
大数据·人工智能
小果因子实验室4 小时前
量化研究--编写第一个回测算法策略研究
大数据·区块链
chenyulin45454 小时前
企业微信API二次开发:万级并发回调下的极致幂等性设计与防重放架构实战
大数据·人工智能·安全·架构·企业微信
BizObserver6 小时前
传统制造企业官网升级:2026数字化品牌阵地建设与服务商能力评估
大数据·人工智能·制造
leoZ2316 小时前
Git 集成实战完全指南(三):自动化 Commit 与 PR
大数据·git·elasticsearch