开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink批处理的sql语法和流处理的是一样的么? 有批处理的文档么 在文档中没找到。

Flink批处理的sql语法和流处理的是一样的么? 有批处理的文档么 在文档中没找到。

展开
收起
三分钟热度的鱼 2023-08-08 12:10:57 76 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    Flink的批处理和流处理在SQL语法上有一些区别,尽管它们都使用了类似的SQL风格的查询语句。

    在Flink中,批处理作业使用的是批处理表(BatchTable),而流处理作业使用的是流式表(StreamTable)。这两种表的语法有一些细微的差异。

    下面是一些批处理和流处理SQL语法上的区别:

    表类型声明:在批处理SQL中,使用的是TABLE关键字来声明批处理表,例如:CREATE TABLE myTable (..) WITH (...)。而在流处理SQL中,使用的是CREATE STREAM TABLE或者简写的CREATE TABLE关键字来声明流式表,例如:CREATE STREAM TABLE myTable (..) WITH (...)或CREATE TABLE myTable (..) WITH (...)。

    时间属性:在流处理SQL中,可以使用PROCTIME、ROWTIME关键字来声明事件时间或处理时间属性。而在批处理SQL中,不支持事件时间属性,只能使用处理时间属性。

    窗口操作:在流处理SQL中,可以使用窗口操作(如滚动窗口、滑动窗口等)来对事件流进行窗口化处理。而在批处理SQL中,窗口操作的支持相对有限,通常使用批处理的方式进行窗口化操作。

    输出模式:在流处理SQL中,可以使用INSERT INTO语句将计算结果输出到下游的表或者外部系统。而在批处理SQL中,可以使用INSERT INTO或者INSERT OVERWRITE语句将计算结果输出到下游的表。

    关于Flink批处理的SQL语法,您可以查看Flink官方文档中的批处理部分,其中包含了详细的批处理SQL语法和示例。您可以在以下链接中找到有关Flink批处理的文档:

    Flink 1.14:https://ci.apache.org/projects/flink/flink-docs-release-1.14/zh/docs/dev/table/sql/
    Flink 1.13:https://ci.apache.org/projects/flink/flink-docs-release-1.13/zh/docs/dev/table/sql/
    Flink 1.12:https://ci.apache.org/projects/flink/flink-docs-release-1.12/zh/docs/dev/table/sql/

    2023-08-08 18:18:29
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载