首页 > 解决方案 > 如何使用 Apache Flink Table API 对整个表进行排序

问题描述

在以下代码段中,我尝试按“值”对表格进行排序;但是,排序只发生在每个分区内,这似乎是文档中的预期行为。

在此处输入图像描述

    Table result = aircraftsTable.join(flightsTable).where("tail_number = tailnum")
                .where("manufacturer === 'CESSNA'")
                .groupBy("manufacturer, model")
                .select("manufacturer + ' ' + model, manufacturer.count as value")
                .orderBy("value");

我如何在整个桌子上订购?我相信这是在 DataSet API 中通过将 parallism 设置为 1 来实现的;但是,我在文档中没有看到 Table API 的类似功能。

标签: apache-flink

解决方案


我相信你误读了文档,它说排序是整个表的全局排序。

但值得一提的是,您可以在 ExecutionEnvironment 上设置并行度,就像使用 DataSet API 对任何其他作业一样。


推荐阅读