怎么运行flinksql
时间: 2025-04-19 08:25:42 浏览: 23
### 如何运行 Flink SQL 示例和命令
为了运行 Flink SQL,可以利用 `TableEnvironment` 对象来执行 SQL 语句。对于简单的查询或是设置会话属性的操作,可以直接通过 `executeSql()` 方法完成。
例如,要更改执行模式为表格模式并验证其效果:
```sql
SET execution.result-mode=table;
```
这将把结果展示方式设为表格式,在成功应用此配置项之后,系统日志应显示 `[INFO] Session property has been set.` 表明已生效[^3]。
接着可以通过如下代码片段创建一个名为 `NameTable` 的虚拟表,并对其进行分组统计操作:
```sql
SELECT name, COUNT(*) AS cnt
FROM (VALUES ('Bob'), ('Alice'), ('Greg'), ('Bob')) AS NameTable(name)
GROUP BY name;
```
上述查询将会返回每个人名及其出现次数的结果集。
当涉及到数据库的选择时,则需调用 `USE` 语句指定当前使用的catalog,默认情况下Flink支持多个catalogs如default_catalog等。具体实现可通过下面的方式来进行:
```java
// 使用 Java 执行 USE statement 来切换 catalog
String useCatalogStmt = "USE my_custom_catalog";
try {
tableEnv.executeSql(useCatalogStmt);
} catch(Exception e){
System.out.println(e.getMessage());
}
```
这段代码展示了怎样借助 `TableEnvironment` 实例中的 `executeSql()` 函数去改变正在工作的catalog名称;如果一切顺利的话,函数将返回字符串 `"OK"` ,反之则抛出错误信息以便于调试处理[^2]。
最后值得注意的是,除了这些交互式的SQL指令外,还可以编写更复杂的ETL作业逻辑并通过CLI客户端提交给集群执行。此时可参照官方文档获取更多关于命令行选项的帮助信息,比如查看某个特定命令的参数列表就可以这样操作:
```bash
flink-1.7.2/bin/flink run -h
```
这条命令能够打印出有关 `run` 子命令的所有可用选项以及它们的作用描述[^1]。
阅读全文
相关推荐


















