Формат пути к топику Kafka

Содержание раздела
  1. Краткий путь к топику сконфигурированных брокеров Kafka
  2. Полный путь к топику сконфигурированных брокеров Kafka
  3. Путь к топику произвольных брокеров Kafka

При создании внешней таблицы загрузки или внешней readable-таблицы, используемой для загрузки данных, необходимо задать путь (URI-строку) к топику Kafka, который служит источником данных.

Доступны следующие способы указания пути к топику:

  • путь к топику брокеров Kafka, заданных в конфигурации ноды Prostore:
    • краткий путь с использованием переменной, заданной в конфигурации;
    • полный путь с указанием хостов ZooKeeper;
  • путь к топику произвольных брокеров Kafka.

Имя топика при всех способах указания пути может включать символы:

  • латинские буквы,
  • цифры,
  • точки,
  • подчеркивания (_),
  • дефисы (-).

Краткий путь к топику сконфигурированных брокеров Kafka

Краткий путь к топику брокеров Kafka, заданных в конфигурации Prostore, имеет следующий формат:

kafka://$kafka/<topic_name>

Пример:

kafka://$kafka/sales_in

Путь к топику сохраняется для внешней таблицы в следующем формате: kafka://<ZOOKEEPER_KAFKA_ADDRESS>/<topic_name>, где ZOOKEEPER_KAFKA_ADDRESS — значение соответствующего параметра конфигурации. Для загрузки данных используется следующий порт:

  • указанный в составе ZOOKEEPER_KAFKA_ADDRESS — если значение содержит номер порта;
  • порт 2181 — иначе.

Полный путь к топику сконфигурированных брокеров Kafka

Полный путь к топику брокеров Kafka, заданных в конфигурации Prostore, имеет следующий формат (квадратными скобками обозначены опциональные параметры):

kafka://<zkhost_1>[:<port_1>][,<zkhost_2>[:<port_2>]][,<zkhost_3>[:<port_3>]]/<topic_name>

Где:

  • zkhost_N — имя или IP-адрес хоста Zookeeper, к которому подключены брокеры Kafka с топиком topic_name;
  • [ port_N ] — порт хоста ZooKeeper, используемый брокерами Kafka с топиком topic_name для подключения. Значение должно соответствовать порту, заданному в конфигурации ZooKeeper для подключения клиентов;
  • topic_name — имя топика Kafka.

Для внешней таблицы сохраняются и для загрузки данных используются следующие порты:

  • указанные в пути при создании внешней таблицы — если такие были указаны;
  • заданные с помощью параметра конфигурации ZOOKEEPER_KAFKA_ADDRESS — если порты не были указаны при создании внешней таблицы и при этом значение ZOOKEEPER_KAFKA_ADDRESS содержит номера портов;
  • путь сохраняется без указания портов, а для загрузки данных используется порт 2181 — иначе.

Если параметр конфигурации ZOOKEEPER_KAFKA_CHROOT имеет непустое значение, это значение автоматически добавляется как chroot к пути, сохраненному для внешней таблицы, при загрузке данных.

Примеры:

-- путь с именами нескольких хостов ZooKeeper и указанием портов
kafka://zk1:2181,zk2:2181,zk3:2181/sales_in

-- путь с именами нескольких хостов ZooKeeper и без указания портов
kafka://zk1,zk2,zk3/sales_in

-- путь с именем одного хоста ZooKeeper
kafka://zk1:2181/sales_in

-- путь с IP-адресом одного хоста ZooKeeper
kafka://192.168.60.97:2181/sales_in

Путь к топику произвольных брокеров Kafka

Путь к топику произвольных брокеров Kafka имеет следующий формат (квадратными скобками обозначены опциональные параметры):

kafka_brokers://<kafkabroker_1>[:<port_1>][,<kafkabroker_2>[:<port_2>]][,<kafkabroker_3>[:<port_3>]]/<topic_name>

Где:

  • kafkabroker_N — имя или IP-адрес брокера Kafka с топиком topic_name;
  • [ port_N ] — порт брокера, доступный для подключения. Если значение не указано, путь к топику сохраняется без номера порта, а для загрузки данных используется порт 9092;
  • topic_name — имя топика Kafka.

Примеры:

-- путь с именами нескольких брокеров
kafka_brokers://kb1:9092,kb2:9092,kb3:9092/sales_in

-- путь с именем одного брокера с указанием порта
kafka_brokers://kb1:9092/sales_in

-- путь с именем одного брокера без указания порта
kafka_brokers://kb1/sales_in

-- путь с IP-адресом одного брокера
kafka_brokers://192.168.10.245:9092/sales_in