2015-01-10 9 views
2

Я создал следующую таблицу, но теперь хочу вставить данные в список вещей, который я не мог, потому что CQL хочет, чтобы я указывал время события. У меня нет этого, но да, у меня есть OrderId.Как вставить данные временных рядов в Cassandra

Какой лучший способ справиться с этой ситуацией?

CREATE TABLE "Orders_By_Time" (OrderId текст, EventTime временной метки, ThingsList список, первичный ключ (OrderId, EventTime)) С КЛАСТЕРИЗАЦИИ ORDER BY (EventTime DESC);

Спасибо,

ответ

3

При вставке данных вам нужно указать все части первичного ключа, так что вы можете использовать dateof (теперь()), чтобы создать метку времени для текущего времени.

Смотрите этот же вопрос:

How to get current timestamp with CQL while using Command Line?

+0

Эй Джим, Да, что я могу ввести запись с dateof (в настоящее время). Но я хочу обновить запись, например, добавить записи в ThingsList через этот OrderId. Например, я уже записал запись. Но теперь я хочу ввести список вещей для этого orderId позже. Я знаю только идентификатор заказа для этой записи временного ряда, но не временную метку этой записи. Пожалуйста, предложите, что может быть лучшим решением. Мне нужно изменить модель данных, чтобы достичь этого. – Usman

+1

Тогда вы, вероятно, не захотите, чтобы EventTime являлся частью вашего первичного ключа, это просто регулярный столбец. То, как вы определили свою таблицу, - это временный ряд, но с временным рядом вы обычно записываете события со временем и не обновляете эти события позже. Если вам нужны как временные ряды, так и способ их обновления позже, вы можете иметь две таблицы, orders_by_time и orders_by_orderid, причем ThingsList находится в таблице orders_by_orderid, а в качестве первичного ключа - только orderid. –

+0

Спасибо Джим, у меня есть точка (у). большое спасибо – Usman

Смежные вопросы