Как изменить существующую схему объекта в geomesa-аккумуляторе
У меня есть функция "f" в каталоге (таблица) "c", которая содержит мои временные и пространственные данные вместе с некоторыми атрибутами (такими как скорость и имя). Я использую Java для вставки записей в этот тип объектов, и все работает нормально.
Мой вопрос: что если в будущем мне нужно будет хранить больше атрибутов вместе с существующими (как мы добавляем столбцы в RDBM для хранения большего количества деталей)?
Как интегрировать такие изменения вместе с существующей схемой простого типа объекта?
1 ответ
Вы можете добавить атрибуты в конце своего sft, когда новые атрибуты станут доступными. Тем не менее, это приведет к тому, что для этих полей в уже загруженных записях будет возвращено значение null. Кроме того, все новые добавленные поля не будут проиндексированы, поэтому вам нужно будет использовать что-то вроде add-attribute-index
Команда из инструментов командной строки, если это желательно.
Кроме того, если ваши данные принимаются в формате json, вы можете сохранить запись в виде двоичного объекта json и запросить произвольные значения в двоичном объекте json с использованием синтаксиса JsonPath. Конечно, это также не будет проиндексировано, но может быть полезно в некоторых ситуациях, когда у вас есть сильно измененные данные. Это более новая функция в настоящее время, поэтому ваш пробег может варьироваться при ее использовании.