flink sql 配置日志级别
时间: 2023-07-01 09:19:51 浏览: 74
你可以通过以下两种方式来配置 Flink SQL 的日志级别:
1. 在 flink-conf.yaml 文件中添加以下配置:
```
log4j.logger.org.apache.flink.table=DEBUG
```
2. 在启动 Flink SQL CLI 时,使用以下参数设置日志级别:
```
./bin/sql-client.sh embedded -l /path/to/log4j.properties
```
其中,log4j.properties 文件的内容可以是:
```
log4j.rootLogger=INFO, console
log4j.logger.org.apache.flink.table=DEBUG
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
```
这将会把 Flink SQL 的日志级别设置为 DEBUG,同时输出到控制台。
相关问题
flinksql配置
Flink SQL 的配置可以通过对 Flink Table API & SQL 的包 `flink-table` 的源码进行一些修改来实现细粒度的 TTL 配置。这些修改可以在本系列文的第二篇《Flink SQL 细粒度TTL配置的实现(二)》中找到,具体的实现方法会在该文章中介绍。
目前,Flink SQL 只支持粗粒度的 TTL 设置,也就是说在一段 SQL 中只能设置一个 TTL。但在一些常见的应用场景中,这可能不足够。
关于 sink.buffer-flush.interval 这个配置项,它表示 flush 数据的时间间隔,超过该时间后异步线程将会 flush 数据。你可以将其设置为 1sDuration 来指定 flush 的时间间隔。如果你想完全异步地处理缓存的 flush 事件,还可以将 sink.buffer-flush.max-rows 设置为 0,并配置适当的 flush 时间间隔。
另外,对于 Flink SQL 的配置,你可以通过使用 jdbc 连接表的 DDL 语句来进行配置。比如,你可以创建一个名为 deal_mysql 的表,并通过配置连接信息来指定使用的数据库、用户名、密码和表名等。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
flink sql 常用配置
在Flink SQL中,常用的配置包括:regular join、Split Distinct优化方法、LocalGlobal优化、MiniBatch等。
regular join是Flink SQL中常用的连接操作,包括inner join、left join和right join。在regular join中,左右表的数据都会一直保存在状态里,不会清理。如果需要清理数据,可以设置TTL(Time-To-Live)或使用Flink SQL的interval join。
Split Distinct优化方法是一种优化方法,可以用于处理包含UDAF(User-Defined Aggregation Function)的Flink SQL语句。但目前在包含UDAF的Flink SQL中不能使用Split Distinct优化方法。
LocalGlobal优化是Flink SQL中的一种优化策略。该优化策略可以将聚合操作拆分为两个GROUP聚合操作,并参与LocalGlobal优化。这个功能在Flink 1.9.0版本及以上版本才支持。
MiniBatch是Flink SQL中的一种机制,可以将输入数据分批处理,以减少资源消耗。开启MiniBatch需要依赖于MiniBatch的参数设置。常用的MiniBatch参数包括:
- `table.exec.mini-batch.enabled`:是否开启MiniBatch,默认为false。
- `table.exec.mini-batch.allow-latency`:批量输出的间隔时间,用于控制数据处理的延迟。
- `table.exec.mini-batch.size`:每个批次最多缓存数据的条数,可以根据需求进行调整。
除了上述常用配置外,还可以根据具体需求设置其他参数,如聚合策略`table.optimizer.agg-phase-strategy`,用于控制聚合操作的执行策略。默认为AUTO,还支持TWO_PHASE(使用LocalGlobal两阶段聚合)和ONE_PHASE(仅使用Global一阶段聚合)两种策略。
示例代码中展示了如何设置这些参数:
```
// 初始化table environment
TableEnvironment tEnv = ...
// 获取tableEnv的配置对象
Configuration configuration = tEnv.getConfig().getConfiguration();
// 设置参数:
// 开启MiniBatch
configuration.setString("table.exec.mini-batch.enabled", "true");
// 批量输出的间隔时间
configuration.setString("table.exec.mini-batch.allow-latency", "5 s");
// 防止OOM,设置每个批次最多缓存数据的条数,可以设为2万条
configuration.setString("table.exec.mini-batch.size", "20000");
// 开启LocalGlobal
configuration.setString("table.optimizer.agg-phase-strategy", "TWO_PHASE");
```
综上所述,这些是Flink SQL中常用的配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Flink 优化(六) --------- FlinkSQL 调优](https://blog.csdn.net/m0_51111980/article/details/130102786)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]