我正试图通过信封将数据加载到库都表中。主键列之一是时间戳。DDL :创建表BAL ( client_id int bal_id int,effective_time时间戳,prsn_id int,bal_amount double,prsn_name string,主键(client_id,bal_id,effective_time) )分区8存储为KUDU;
但是它是抛出错误Java.lang.illelegalArgumentException
所以我的问题很简单-时间戳列可能是主键的一部分?
发布于 2018-11-02 08:48:33
是的,将时间戳作为主键的一部分是完全正常的。请查找代码:
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;*
https://stackoverflow.com/questions/50186422
复制相似问题