2、Flink 在 DataStream 和 Table 之间进行转换

1.概述

Table API 和 DataStream API 都可以处理有界流和无界流。

  • DataStream API 提供了流处理的基础(时间、状态和数据流管理);
  • Table API 抽象了许多内部内容,并提供了一个结构化和声明性的 API;

在处理历史数据时,需要管理有边界的流;无边界流出现在实时处理场景中,这些场景可能需要先使用历史数据进行初始化。

  • 为了高效执行,这两个 API 都以优化的批处理执行模式处理有界流。
  • 由于批处理只是流的一种特殊情况,因此也可以在常规流执行模式下运行有界流的批处理。

混合使用 Table API 和 DataStream API 的场景

  • 在 DataStream API 实现主程序之前,使用 Table API 访问目录或连接到外部系统;
  • 在 DataStream API 实现主程序之前,访问一些 SQL 函数以进行无状态数据的规范化和清理;
  • 如果 Table API 中没有更低级的操作(例如定时器),则无需切换到 DataStream API。

注意:在 DataStream 和 Table API 之间切换会增加一些转换开销;例如,部分处理二进制数据的表运行时的内部数据结构(即RowData)需要转换为对用户更友好的数据结构(如Row),通常这个开销可以忽略。

2.在 DataStream 和 Table 之间进行转换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫猫爱吃小鱼粮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值