Как сделать запрос Apache -Пульсар? - PullRequest
2 голосов
/ 06 апреля 2020

Apache Пульсар предлагает очень интересную архитектуру с многоуровневым хранилищем.

Интересно, как я мог бы делать интерактивные запросы из другого приложения? Я имею в виду прямые запросы к системе / базе данных «ключ-значение» и не использую pulsar- sql, который использует Presto внизу.

В @sijieg, в твиттере, опубликовал следующая схема: enter image description here

Похоже, я могу получить доступ к хранилищу состояний (или даже к считывателю сегментов) и напрямую получить доступ к данным в Bookies (и, возможно, многоуровневом хранилище) По данным Metastore?) Как мы можем получить доступ к этим State-store / Segment-reader и получить доступ к данным, как это сделали бы Flink-Pulsar или Spark-Pulsar.

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Я не уверен, почему вы против использования пульсара- sql, который использует Presto. Это предпочтительный метод для выполнения сложных запросов на основе SQL к данным, хранящимся в слоях хранения BookKeeper (как на диске book ie, так и в многоуровневом хранилище). Presto анализирует SQL и создает AST и план запроса для возврата данных, поэтому он предоставляет много полезного в этом отношении.

Однако, если вы заинтересованы в доступе к данным непосредственно на BK, тогда вы можете использовать более старый DLog API . или новый табличный сервис (ключ / значение) , который встроен в Букмекеры.

0 голосов
/ 11 апреля 2020

Быстрый ответ: «Вы напрямую не запрашиваете Apache Пульсар». Но давайте посмотрим глубже.

Apache Pulsar не является СУБД, где SQL запросы являются основным способом работы с данными. Если вашей системе требуется SQL запросов и нагрузка не столь велика, просто используйте традиционную СУБД или номер SQL по вашему выбору.

Почему трудно делать запросы к Apache Pulsar? Основная причина в том, что Apache Pulsar - это распределенная система обмена сообщениями pub-sub, где данные обрабатываются как неограниченные потоки, и это затрудняет выполнение традиционных запросов SQL быстрым способом. Решением в этом случае являются паровые двигатели ( Pulsar Functions , Apache Flink , Apache Spark ), где данные могут быть выбраны, преобразованы и где-то записано.

Если вам все еще нужно выполнить запросы к некоторым данным, хранящимся в Pulsar, эту информацию можно переслать в базу данных RDBMS или No SQL, используя встроенные соединители приемников .

А для аналитики может быть достаточно использовать pulsar- sql, напрямую связывающийся со слоем хранения (Bookies).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...