关于kudu的primary key

The primary key may not be changed after the table is created. You must drop and recreate a table to select a new primary key.

创建之后主键列不能变更

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

The columns which make up the primary key must be listed first in the schema.

否则会报错:

ImpalaRuntimeException: Error creating Kudu table 'impala::default.cv00_atty_kudu' CAUSED BY: NonRecoverableException: Got out-of-order key column: name: "ent_ts" type: STRING is_key: true is_nullable: false cfile_block_size: 0

The primary key of a row may not be modified using the UPDATE functionality. To modify a row’s primary key, the row must be deleted and re-inserted with the modified key. Such a modification is non-atomic.

主键列不能被update

Columns with DOUBLE, FLOAT, or BOOL types are not allowed as part of a primary key definition. Additionally, all columns that are part of a primary key definition must be NOT NULL.

double、float、bool类型字段不能作为主键列,同时主键列不能为null

Auto-generated primary keys are not supported.

不支持自动生成主键

Cells making up a composite primary key are limited to a total of 16KB after the internal composite-key encoding done by Kudu.

主键大小最大16k


参考:https://kudu.apache.org/docs/known_issues.html#_schema_and_usage_limitations

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄