千家信息网

flink原理和基本功能是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,flink原理和基本功能是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。有界与无界有界数据集具有时间边界的数据集,处理过程中数据一定
千家信息网最后更新 2026年11月01日flink原理和基本功能是什么

flink原理和基本功能是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

有界与无界

有界数据集

  • 具有时间边界的数据集,处理过程中数据一定会在某个时间内开始和结束。

无界数据集

  • 数据只有开始没有边界。

flink接口结构

FLink SQL

  • SQL API支持批和流的计算。

Flink Table

  • Table API将内存中的DataStream和DataSet数据集在原有的基础上增加Schema信息,将数据类型统一抽象成表结构,然后通过Table API接口处理对应的数据集。

  • SQL API可以直接查询Table API注册表的数据。

  • Tabel API 提供大量接口如GroupByKey、Join等,并支持和DataStream和DataSet的相互转换。

DataStream

  • 有编程经验者使用,1.12版本开始DataStream处理流批数据,DataSet接口逐步废除。

Stateful Stream Processing API

  • Flink最底层接口,灵活性非常强,可实现复杂的流式计算逻辑,使用成本较高,一般企业级用户使用它进行二次开发或深度封装。

程序结构 DataStream API

  1. 设定运行环境,支持动态(本地和线上)启动、本地启动、远程线上启动三种。

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();//指定处理方式批处理、流处理、自适应env.setRuntimeMode(RuntimeExecutionMode.AUTOMATIC);
  1. 指定数据源

DataSet text = env.readTextFile("/path/to/file");
  1. 操作数据集

DataSet> counts =        text.flatMap(_.toLowerCase.split(" ")) //实行map转换        .filter(_.nonEmpty)  //过滤控制        .map((_,1)) //执行map转换,转换为key-value         .keyBy(0)  //按照指定第一个字段key进行分区,        .sum(1); //分区后按第二个字段求和
  1. 指定结果输出

counts.writeAsCsv(outputPath, "\n", " ");
  1. 指定名称并触发

 env.execute("Streaming Count");

数据类型

  • flink有丰富的数据类型支持,统一由TypeInformation定义。支持与java、scala任意数据类型转换。

原生数据类型

  • BasicTypeInfo类型支持任意java基础类型和String类型。

java Tuples

  • TupleTypeInfo描述Tuple类型数据,2019年版本支持字段上线为25个。

scala Case class

  • CaseClassTypeInfo支持任意Scala Case class,包括Scala tuples,2019年支持最大字段数为22个。

POJOs类型

  • PojoTypeInfo描述任意POJO类型,

    • POJO类必须是public修饰的非内部类。

    • POJO类必须含有默认空构造器

    • PoJO类所有字段必须是public,类型必须是flink支持的。

Flink Value类型

  • Value数据类型实现了org.apache.flink.types.Value,其中包含read()和write()两种序列化和反序列化操作。目前内建类型有IntValue、DoubleValue、StringValue。

特殊数据类型

  • scala中的List、Map、Either、Option、Try,java中Either,hadoop中Writable。

Flink作为新一代计算引擎,在实时计算领域有着及其重要的地位,同时也有这复杂的概念,时间窗口、水位线等,学习并理解成本不低。

看完上述内容,你们掌握flink原理和基本功能是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

数据 类型 支持 字段 接口 处理 时间 结构 功能 原理 复杂 内容 基础 序列 成本 方法 更多 版本 经验 边界 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网项目 互联网科技会 美国互联网科技巨头监管 北京互联网科技有限公司 深圳齐家互联网科技 腾讯科技 互联网女皇 滨湖区互联网智能科技产品供应 互联网巨头投资的硬核科技 恒生科技互联网指数分析 衡水科技产业互联网平台 阿里互联网科技公司 岳阳华臻互联网科技有限公司 互联网金融科技展 天津腾达互联网科技有限公司 科技赋能视角下互联网保险发展 互联网科技股为什么大涨 广东鹅鹅鹅互联网科技有限公司 湖北辰鑫科技互联网 马化腾互联网科技教学 每日互联网科技新闻 互联网和科技技术 重庆互联网络科技 汉立互联网科技有限公司联系电话 中国科技互联网公司收入 互联网金融科技公司干啥的 如何创新互联网科技 明优互联网科技有限公司 恒生互联网科技业指数调整周期 互联网科技实习生岗位 山东蛋芒互联网科技有限公司
0