如何在flink应用程序中组织SQL代码

问题描述 投票:0回答:1

在开始进行 flink 开发时,我想知道每个人都是如何组织他们的 SQL 代码的。

大多数示例看起来都很基础,只是将 SQL 代码保存在以下形式的变量中

        final Table result =
                tableEnv.sqlQuery(
                        "SELECT * FROM "
                                + tableA
                                + " WHERE amount > 2 UNION ALL "
                                + "SELECT * FROM TableB WHERE amount < 2");

虽然这显然有效,但由于各种原因,它感觉很麻烦——特别是当查询变得更大时。 它不适用于语法突出显示,使复制和粘贴变得困难,并且不适合代码审查。

我正在考虑将它们放入 java 资源中,但想确保我没有错过任何最佳实践。

apache-flink flink-sql
1个回答
0
投票

您可以使用更多的 Table API,例如,

Table someFromA = tableEnv.from("tableA").where($("amount").isGreater(2));
Table someFromB = tableEnv.from("tableB").where($("amount").isLess(2));
Table result = someFromA.unionAll(someFromB);
© www.soinside.com 2019 - 2024. All rights reserved.