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

我有个疑问 有没大神解答下 FlinkSql 脚本1:insert into 表A SELEC

我有个疑问 有没大神解答下 FlinkSql 脚本1:insert into 表A SELECT * FROM 表B 脚本2: insert into 表A SELECT * FROM 表B ORDER BY 表B.时间字段 DESC LIMIT 1 ; 这两者有什么不同? 为什么正常的FlinkSql 写法是脚本1而不是脚本2 ?

展开
收起
游客3oewgrzrf6o5c 2022-07-12 18:17:06 333 0
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    这两个脚本的不同之处在于它们的查询方式和插入语句的语法。
    脚本1使用了SELECT语句来选择需要插入的数据,然后直接将这些数据插入到表A中。这种方式是FlinkSQL的默认写法,可以插入任意数量和类型的数据。
    脚本2使用了ORDER BY子句来对查询结果按照时间字段进行排序,然后使用LIMIT子句来限制结果数量为1。这种方式是一种特殊的插入方式,可以将某个时间段内的数据批量插入到表A中。这种方式在处理大量历史数据时可以提高性能。
    为什么正常的FlinkSql 写法是脚本1而不是脚本2 ?
    正常的FlinkSQL写法是脚本1,因为它更加通用,可以插入任意数量和类型的数据。而脚本2是一种特殊的插入方式,只适用于特定的场景。在大多数情况下,使用脚本1可以更加方便地将数据插入到表A中。

    2023-08-10 08:02:36
    赞同 展开评论 打赏

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

相关电子书

更多
Phoenix 全局索引原理与实践 立即下载
MySQL表和索引优化实战 立即下载
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载