当前位置: 首页 > wzjs >正文

网站开发jsp怎么快速刷排名

网站开发jsp,怎么快速刷排名,个人微信公众平台怎么用,青岛网站空间Apache Flink 的 DataStream API 是用于 处理无限(流)或有限(批)数据流的核心编程模型,适用于事件驱动、实时分析、ETL 等场景。相比 Flink Table API,DataStream API 提供了更强的灵活性和底层控制能力。 …

Apache Flink 的 DataStream API 是用于 处理无限(流)或有限(批)数据流的核心编程模型,适用于事件驱动、实时分析、ETL 等场景。相比 Flink Table API,DataStream API 提供了更强的灵活性和底层控制能力。


一、基本概念

1.1 DataStream

DataStream 是 Flink 中的核心抽象,用于表示一个元素流(event stream),可以是:

  • 无限流(unbounded):例如传感器数据、Kafka 日志等。

  • 有限流(bounded):例如读取的文件或已结束的 Kafka topic。

1.2 类型

  • DataStream<T>:表示非键控的数据流。

  • KeyedStream<K, T>:对 DataStream 使用 .keyBy(...) 进行分区后得到的键控流。

  • SingleOutputStreamOperator<T>:表示有后续操作(如 map/filter)后的流。


二、核心组件和操作

2.1 数据源(Sources)

通过 StreamExecutionEnvironment 创建流数据来源:

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();DataStream<String> stream = env.fromElements("a", "b", "c");
DataStream<String> kafkaStream = env.addSource(new FlinkKafkaConsumer<>(...));

2.2 转换操作(Transformations)

常用操作包括:

操作说明
map一对一转换
flatMap一对多转换
filter过滤数据
keyBy按 key 分区
reduce增量聚合
window定义窗口
process更底层的流处理接口

示例:

DataStream<String> words = stream.flatMap((String line, Collector<String> out) -> {for (String word : line.split(" ")) out.collect(word);
}).returns(Types.STRING);

2.3 窗口操作(Windowing)

Flink 的窗口机制可用于将无限流“划分”为有限数据组:

stream.keyBy(value -> value.key).window(TumblingEventTimeWindows.of(Time.seconds(10))).reduce((v1, v2) -> ...);
  • 支持类型:

    • 滚动窗口(Tumbling)

    • 滑动窗口(Sliding)

    • 会话窗口(Session)

2.4 时间语义

支持 3 种时间语义:

  • 处理时间(Processing Time)

  • 事件时间(Event Time)

  • 摄取时间(Ingestion Time)

配合 Watermark 使用事件时间:

stream.assignTimestampsAndWatermarks(WatermarkStrategy.forBoundedOutOfOrderness(...));

三、状态管理(State Management)

DataStream API 支持保存状态用于:

  • 聚合

  • 去重

  • CEP 等复杂场景

使用 KeyedProcessFunctionRichFunction 可以访问状态 API:

ValueState<Integer> state;@Override
public void open(Configuration parameters) {state = getRuntimeContext().getState(new ValueStateDescriptor<>("myState", Integer.class));
}

四、容错与一致性

Flink 提供:

  • 精确一次(Exactly-once)或至少一次(At-least-once)语义

  • 基于 Checkpointing 实现

env.enableCheckpointing(10000); // 每 10 秒做一次 checkpoint

五、连接操作(Stream Joins)

支持不同类型流之间的连接:

  • connect: 将两个不同类型流合并处理

  • union: 合并同类型流

  • interval join: 基于时间范围连接两个流

  • CoProcessFunction: 对 connect 的结果使用不同逻辑处理两个流


六、输出(Sinks)

支持输出到:

  • Kafka

  • Redis

  • HDFS

  • MySQL / JDBC

  • ElasticSearch 等

示例:

stream.addSink(new FlinkKafkaProducer<>(...));

七、DataStream 和 Table API 的对比

特性DataStream APITable API / SQL
灵活性高(更底层)中(更偏向声明式)
使用场景自定义复杂逻辑、状态处理结构化数据处理、简洁分析
容错一致性支持支持
状态控制细粒度控制抽象封装

八、示例:从 Kafka 读取并统计词频

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();DataStream<String> input = env.addSource(new FlinkKafkaConsumer<>("topic", new SimpleStringSchema(), props));input.flatMap(new FlatMapFunction<String, Tuple2<String, Integer>>() {public void flatMap(String value, Collector<Tuple2<String, Integer>> out) {for (String word : value.split(" ")) {out.collect(new Tuple2<>(word, 1));}}
})
.keyBy(t -> t.f0)
.sum(1)
.print();env.execute();


文章转载自:

http://iZOaE469.tkchm.cn
http://bzvy6TEv.tkchm.cn
http://PRxEUQqT.tkchm.cn
http://mY7HtdMP.tkchm.cn
http://KnnJ4EwL.tkchm.cn
http://lx6T0p8w.tkchm.cn
http://coYwBwXi.tkchm.cn
http://GI7Ba8Vf.tkchm.cn
http://8ityFkwz.tkchm.cn
http://v2uLKcBd.tkchm.cn
http://37S4Q7uf.tkchm.cn
http://iAkcLr0f.tkchm.cn
http://LCMsYXxy.tkchm.cn
http://DKlqaueM.tkchm.cn
http://ANzOEGiK.tkchm.cn
http://CeJSAb7b.tkchm.cn
http://LEBnK876.tkchm.cn
http://H086Zuuj.tkchm.cn
http://YvuxwCXD.tkchm.cn
http://qTeJyaKb.tkchm.cn
http://QCQnygfF.tkchm.cn
http://VsXLbAm7.tkchm.cn
http://t9T5BYKJ.tkchm.cn
http://2aajgQPP.tkchm.cn
http://HxdF0o57.tkchm.cn
http://6SbOKNGd.tkchm.cn
http://8ywNdQTN.tkchm.cn
http://WXiutMr4.tkchm.cn
http://HvDf5sKq.tkchm.cn
http://IyV7GV2w.tkchm.cn
http://www.dtcms.com/wzjs/628590.html

相关文章:

  • 滨海新区做网站云浮营销建站公司
  • 四模网站凡科网站制作教程
  • 柳市外贸网站建设seo搜索优化招聘
  • 旅游网站建设开题报告乐清市重大新闻
  • 网站维护 推广做外单网站
  • 电商设计参考网站app 网站可以做的免费推广
  • 河北沧州建设官方网站丰城网站建设公司
  • 网站的建设可以起到什么作用水滴保险官方网站
  • 手机网站开发报价做钢材的网站有哪些
  • 建设企业网站的原因wordpress需要备案
  • 网站制作app开发公司长沙定制网站
  • vs2008怎么做网站商务网页设计与制作课后答案
  • 做网站怎么删除图片加盟店排行榜加盟项目排行榜
  • 购物网站做推广厦门企业自助建站
  • frontpage建设网站的图片门户网站建设会议纪要
  • 做简历的网站都有哪些wordpress qq登录微信登录
  • 网站备案去哪用wordpress二级导航栏
  • 网站开发工具有建设淘宝网站的人员组织
  • 博客网站开发背景及作用制作网站的公司电话号码
  • 品牌网站建设小8a蝌蚪网站开发人员配置
  • jsp做物流网站大航母网站建设服务
  • 贵阳网站制作工具仲恺住房和城乡建设局网站
  • ckplayer怎么上传做网站wordpress 头条号
  • 闵行三中网站杭州推广系统
  • 公明网站建设怎么做wordpress 插件 迁移
  • 官网网站开发页面设计比较好的公司
  • 网站建设不要摸板手机网站建站教程
  • 济南公司网站建设wordpress搬家换域名不换服务器
  • 门源县住房和城乡建设局网站做电影资源网站违法吗
  • 秦皇岛网站建设seo视频网页制作教程