时间戳是主键
Timestamp Primary key Kudu
我正在尝试通过信封将数据加载到 Kudu table。
主键列之一是时间戳。
动态链接库:
创建 TABLE BAL (
client_id 整数
bal_id 整数,
effective_time 时间戳,
prsn_id 整数,
bal_amount 双倍,
prsn_name 字符串,
主键(client_id、bal_id、effective_time)
)
哈希分区 (client_id) 分区 8
存储为 KUDU;
但是报错Java.lang.illelegalArgumentException
所以我的问题很简单 - timestamp 列是否可以作为主键的一部分??
是的,将时间戳作为主键的一部分是完全可以的。
请找代码:
use ${var:db_name};
CREATE TABLE test (
table_name STRING NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
table_id BIGINT NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
last_read_timestamp TIMESTAMP NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
window STRING NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
ext_gen_timestamp timestamp NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
extract_date timestamp NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
manual_rerun STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
PRIMARY KEY (table_name, table_id, last_read_timestamp)
)
STORED AS KUDU;
*
我正在尝试通过信封将数据加载到 Kudu table。 主键列之一是时间戳。 动态链接库: 创建 TABLE BAL ( client_id 整数 bal_id 整数, effective_time 时间戳, prsn_id 整数, bal_amount 双倍, prsn_name 字符串, 主键(client_id、bal_id、effective_time) ) 哈希分区 (client_id) 分区 8 存储为 KUDU;
但是报错Java.lang.illelegalArgumentException
所以我的问题很简单 - timestamp 列是否可以作为主键的一部分??
是的,将时间戳作为主键的一部分是完全可以的。 请找代码:
use ${var:db_name};
CREATE TABLE test (
table_name STRING NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
table_id BIGINT NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
last_read_timestamp TIMESTAMP NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
window STRING NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
ext_gen_timestamp timestamp NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
extract_date timestamp NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
manual_rerun STRING NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
PRIMARY KEY (table_name, table_id, last_read_timestamp)
)
STORED AS KUDU;
*