乐趣区

关于大数据:大数据开发Flink113新特性

介绍

大略 4 月,Flink1.13 就公布了,加入 了 Flink1.13 的 Meetup,播种还是挺多,从大的方面讲就是 FlingSql 的改良和优化,资源调度治理方面的优化,以及流批一体 Flink 在运行时与 DataStream API 的优化,另外就是 State backend 模块的优化,本篇文章既是过后做的笔记,又是在后续查阅官网等做的补充,

Flink 的一个次要指标获得了重要停顿,即让流解决利用的应用像一般利用一样简略和天然。Flink 1.13 新引入的被动扩缩容使得流作业的扩缩容和其它利用一样简略,使用者仅须要批改并行度即可。

这个版本还包含一系列重要改变使使用者能够更好了解流作业的效力。当流作业的效力不迭预期的时候,这些改变能够使使用者能够更好的剖析起因。这些改变包含用于辨认瓶颈节点的负载和反压视觉化、剖析运算元热点程式码的 CPU 火焰图和剖析 State Backend 状态的 State 存取效力指标

深刻解读 Flink SQL 1.13

在刚刚公布的 1.13 版本中,Flink SQL 带来了许多新 feature 和性能晋升,在这里围绕 Winddow TVF,时区反对,DataStream & Table API 交互,hive 兼容性晋升,SQL Client 改良 五个方面

  • flip-145 window tvf

    • 残缺关系代数表白
    • 输出是一个关系,输入是一个关系
    • 每个关系对应一个数据集
    • cumulater window eg: 每 10 分钟一次统计 uv,, 后果精确,不会有跳变
    • window 性能优化

      • 内存,切片,算子,早退数据
      • benchmark 测试 2x 晋升
    • 多维数据分析:grouping sets ,rollup,cube 等
  • flip-162 时区剖析

    • 时区问题:proctime 未思考时区,timestamp 也没有时区,各种 current_time,now 未思考时区
    • 工夫函数:current_timestamp 返回 utc+0
    • 反对 tiestamp——ltz 类型 timestamp vs timestamp_ltz
    • 纠正 proctime() 函数
    • 夏令时反对 - 同 timestamp_ltz
  • flip-163 改良 sql-client,hive 兼容性

    • 反对更多实用配置
    • 反对 statement set
  • flip-136 加强 datastrem 和 table 的转换

    • 反对 ds 和 table 转换时传递 event time 和 watermark
    • 反对 changelog 数据流在 table 和 datastream 间互相转换

Flink 1.13: Towards Scalable Cloud Native Application

Flink 1.13 新增了被动资源管理模式与自适应调度模式,具备灵便的伸缩能力,与云原生的主动伸缩技术相结合,可能更好地施展云环境下弹性计算资源的劣势,是 Flink 全面拥抱云原生技术生态的又一重要里程碑。本次议题将对 Flink 1.13 中的被动资源管理、自适应调度、自定义容器模板等新个性,我感觉这个的扩大才是 Flink 此次版本特地重要的一个 feature

  • 云原生 时代 flink,k8s, 申明 api,可弹性扩大
  • k8s 高可用 -(zk,k8s 可选)
  • Rescale(reactive mode → adaptive mdoe → autoscaling mode(TBD,还未反对))https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/elastic_scaling/
  • Flip-158 generalized incremental checkpoints 让 checkpoint 更短时间
  • Pod Template 自定义 Pod 模板反对
  • Fine- 细粒度资源管理 -featrue 大略 1.14 反对
  • 纵向扩大资源和横向扩大资源,tm cpu → k8s, mem→no

面向流批一体的 Flink 运行时与 DataStream API 优化

在 1.13 中,针对流批一体的指标,Flink 优化了大规模作业调度以及批执行模式下网络 Shuffle 的性能,从而进一步提高了流作业与批作业的执行性能;同时,在 DataStream API 方面,Flink 也正在欠缺无限流作业的退出语义,从而进一步提高不同执行模式下语义与后果的一致性

api 上面的 shuffle 架构实现

  • 无限作业和有限作业,和预期后果统一
  • 大规模作业优化 consumerVetexGroup partitionGroup
  • 无限流作业完结一致性,2pc😁😁
  • 流批 - 数据回流
  • piplien and block- 缓存次要是,离线解决

State backend Flink-1.13 优化及生产实践

  • 对立 savepoint 能够 切换 rocksdb
  • state-backend 内存管控,
  • checkpoint save point https://zhuanlan.zhihu.com/p/79526638
  • 更疾速的 checkpoint & falover

flink1.14 的瞻望

  • 删除 legacy planner
  • 欠缺 window tvf
  • 晋升 schema handing
  • 加强 cdc

参考

更多能够查看 Flink 官网 https://ci.apache.org/projects/flink/flink-docs-release-1.13/release-notes/flink-1.13/

参考局部:https://tw511.com/a/01/34869.html
吴邪,小三爷,混迹于后盾,大数据,人工智能畛域的小菜鸟。
更多请关注

退出移动版