Flink batch/stream编程套路
DataSet and DataStream 这里以WordCount为例,共同的编程套路如下所示:
1.获取执行环境(execution environment)
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
2.加载/创建初始数据集
// 读取输入数据
DataStream<String> text;
if (params.has("input")) {
// 读取text文件
text = env.readTextFile(params.get("input"));
} else {
System.out.println("Executing WordCount example with default input data set.");
System.out.println("Use --input to specify file input.");
// 读取默认测试数据集
text = env.fromElements(WordCountData.WORDS);
}
3.对数据集进行各种转换操作(生成新的数据集)
DataStream<Tuple2<String, Integer>> counts =
// 切分每行单词
text.flatMap(new Tokenizer())
//对每个单词分组统计词频数
.keyBy(0).sum(1);
4.指定将计算的结果放到何处去
// 输出统计结果
if (params.has("output")) {
//写入文件地址
counts.writeAsText(params.get("output"));
} else {
System.out.println("Printing result to stdout. Use --output to specify output path.");
//数据打印控制台
counts.print();
}
5.触发APP执行
// 执行flink 程序
env.execute("Streaming WordCount");
分类:
Flink
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
2019-03-07 nginx中root和alias的区别
2014-03-07 通过helloworld来认识下backbone
2014-03-07 初识backbone.js
2013-03-07 实战2——Hadoop的日志分析
2013-03-07 实战1——Hive与JDBC示例
2013-03-07 hadoop整合纪要
2011-03-07 js获取项目根路径