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