Поглощение друидов в нескольких средах/кластерах друидов

#druid

Вопрос:

Существует ли упрощенный способ приема необработанных данных в одну среду Druid, а затем использовать результат от Druid, хранящийся в глубоком хранилище Druid, для повторного приема результата в другую среду Druid(другой кластер Druid) или просто для приема из одного кластера druid в другой кластер Druid?

ИЗ: Необработанные данные —> конвейер данных/Воздушный поток —>> Друид (среда 1) В: Необработанные данные —>>> Воздушный поток —>>>> Друид (среда 1) —>>>>> Друид (среда 2)

Стремясь достичь этого из-за времени, необходимого для приема необработанных данных в druid. Вместо того, чтобы принимать необработанные данные для каждой среды, я хотел бы один раз принять необработанные данные и скопировать результат в другую среду Druid.

Глубокое хранилище использует S3, поэтому я могу копировать данные из S3 (среда 1) в S3(среда 2). Однако метаданные также необходимо обновить, но это выглядит довольно банальным способом достижения этой цели.

Также ищу рекомендации для этого сценария, если я хочу избежать дублирования конвейеров данных для каждой среды Druid.

Ответ №1:

Да, это возможно. Если у вас есть метаданные, хранящиеся, например, в mysql, вы можете просто скопировать эти данные и вставить эти записи во вторую среду.

Все данные сегмента хранятся в MySQL как хранилище данных. Это звучит сложно, но это не так. Просто загляните в druid_segments таблицу и отфильтруйте свой источник данных.

Просто скопируйте записи, которые вы хотите «переместить». Просто убедитесь, что местоположение (путь) файла глубокого хранилища доступно из вашей второй среды. Возможно, вы можете изменить эти пути в поле «Полезная нагрузка», если это необходимо.

Смотрите также эту страницу с некоторыми полезными советами:

https://support.imply.io/hc/en-us/articles/115004960053-Migrate-existing-Druid-Cluster-to-a-new-Imply-cluster