CREATE TOPIC
С помощью оператора CREATE TOPIC можно создать топик, а также читателей для него.
Общий вид команды:
CREATE TOPIC topic_path (
CONSUMER consumer_name [WITH (consumer_option = value[, ...])]
) WITH (topic_option = value[, ...]);
consumer_option— параметр читателя;topic_option— параметр топика.
Все параметры команды, кроме topic_path не обязательны. По умолчанию топик создается без читателей. Все
не указанные явно параметры также выставляются по умолчанию (и для топика, и для читателя).
Параметры читателя:
important— определяет важного читателя. Никакие данные из топика не будут удалены, пока все важные читатели их не прочитали. Тип значения —boolean, значение по умолчанию:false.read_from— определяет момент времени записи сообщений, начиная с которого читатель будет получать данные. Данные, записанные ранее этого момента, прочитаны не будут. Тип значения:DatetimeИЛИTimestampилиinteger(unix-timestamp в виде числа). Значение по умолчанию —0(чтение с самого раннего доступного в топике времени).
Параметры топика:
metering_mode— способ метеринга ресурсов (RESERVED_CAPACITY- по выделенным ресурсам илиREQUEST_UNITS- по фактическому использованию). Актуально для топиков в serverless базах данных. Тип значения -String.min_active_partitions— минимальное количество активных партиций топика. Автопартиционирование не будет уменьшать количество активных партиций ниже этого количества. Тип значения —integer, значение по умолчанию —1.max_active_partitions— максимальное количество активных партиций топика. Автопартиционирование не будет увеличивать количество активных партиций выше этого количества. Тип значения —integer, по умолчанию равноmin_active_partitions.retention_period— время хранения данных в топике. Тип значения —Interval, значение по умолчанию —18h.retention_storage_mb— ограничение на максимальное место на диске, занимаемое данными топика. При превышении этого значения старые данные будут удаляться, как по retention. Тип значения —integer, значение по умолчанию —0(не ограничено).partition_write_burst_bytes— размер запаса квоты на запись в партицию на случай всплесков записи. При выставлении в0фактическое значение write_burst принимается равным значению квоты (что позволяет всплески записи длительностью до 1 секунды). Тип значения —integer, значение по умолчанию:0.partition_write_speed_bytes_per_second— максимальная разрешенная скорость записи в 1 партицию. Если поток записи в партицию превысит это значение, запись будет квотироваться. Тип значения —integer, значение по умолчанию —2097152(2 МБ).auto_partitioning_strategy— режим автопартиционирования.
Допустимые значения:disabled,paused,scale_up, значение по умолчанию —disabled.auto_partitioning_up_utilization_percent— определяет порог загрузки партиции в процентах от максимальной скорости записи, при достижении которого будет инициировано автоматическое увеличение числа партиций. Тип значения —integer, значение по умолчанию —80.auto_partitioning_stabilization_window— определяет временной интервал, в течение которого уровень нагрузки должен оставаться выше установленного порога (auto_partitioning_up_utilization_percent), прежде чем будет выполнено автоматическое увеличение количества партиций. Тип значения —Interval, значение по умолчанию —5m.
Примечание
При выборе имени для топика учитывайте общие правила именования схемных объектов.
Следующая команда создаст топик без читателей с настройками по умолчанию:
CREATE TOPIC `my_topic`;
Чтобы создать топик с важным читателем и временем хранения данных 1 сутки, выполните команду:
CREATE TOPIC `my_topic` (
CONSUMER my_consumer WITH (important = true)
) WITH (
retention_period = Interval('P1D')
);
Была ли статья полезна?
Предыдущая
Следующая