如何在Flink中通过Schema.Builder设置非空列?

p8h8hvxi  于 2022-12-09  发布在  Apache
关注(0)|答案(1)|浏览(157)

当我通过Table API创建表时,我的代码如下所示:

Schema.Builder schemaBuilder = Schema.newBuilder();
schemaBuilder.column("id", DataTypes.BIGINT())
        .column("value", DataTypes.STRING())
        .primaryKey("id");

然后我会得到一个如下所示异常:

Exception in thread "main" org.apache.flink.table.api.ValidationException: Invalid primary key 'PK_id'. Column 'id' is nullable.

是的,我知道主键不能为空,但是如何设置呢?我现在不知道。
谢谢你们
我不得不在Flink官方网站上查找文档,但没有结果。

mqxuamgl

mqxuamgl1#

这样就可以了:

Schema.Builder schemaBuilder = Schema.newBuilder();
schemaBuilder.column("id", DataTypes.BIGINT().notNull())
        .column("value", DataTypes.STRING())
        .primaryKey("id");

相关问题