Flink SQL 数据sink到mysql时,非空列存在null值问题
flink sql 数据sink到mysql时,非空存在null值,插入mysql报错,配置下面的参数进行解决:table.exec.sink.not-null-enforcer对表的NOT NULL列约束强制执行不能将空值插入到表中。Flink支持“错误”(默认)和“删除”强制行为默认情况下,当将空值写入NOT NULL列时,Flink将检查值并引发运行时异常。用户可以将行为更改为“删除”,以在
·
flink sql 数据sink到mysql时,非空存在null值,插入mysql报错,配置下面的参数进行解决:
-- 默认值error
table.exec.sink.not-null-enforcer
对表的NOT NULL列约束强制执行不能将空值插入到表中。
Flink支持“error”(默认)和“drop”强制行为
- 默认情况下,当将空值写入NOT NULL列时,Flink将检查值并引发运行时异常。
- 用户可以将行为更改为“drop”,以在不引发异常的情况下静默删除此类记录。
代码配置:
// instantiate table environment
val tEnv: TableEnvironment = ...
// access flink configuration
val configuration = tEnv.getConfig().getConfiguration()
// set low-level key-value options
configuration.setString("table.exec.sink.not-null-enforcer", "drop")
更多推荐
已为社区贡献5条内容
所有评论(0)