【原创】大数据基础之Kudu(3)primary key

关于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.

创建之后主键列不能变更

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

原文地址:https://www.cnblogs.com/barneywill/p/10701750.html