Метка времени Первичный ключ Куду - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь загрузить данные в таблицу Kudu через конверт. Одним из столбцов первичного ключа является отметка времени. DDL: СОЗДАТЬ СТОЛ БАЛ ( client_id int bal_id int, метка времени prsn_id int, bal_amount double, строка prsn_name, ПЕРВИЧНЫЙ КЛЮЧ (client_id, bal_id ,ffective_time) ) PARTITION HASH (client_id) PARTITIONS 8 Хранится как Куду;

Но выдает ошибку Java.lang.illelegalArgumentException

Так что мой вопрос прост - столбец метки времени может быть частью первичного ключа или нет ??

1 Ответ

0 голосов
/ 02 ноября 2018

Да, вполне нормально включать метку времени в качестве части первичного ключа. Пожалуйста, найдите код:

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;

*

...