Передача данных из ES в Crate

Я хочу перенести данные из ES (1.0.0) в Crate (на данный момент доступна версия 0.26.0), чтобы проверить их, как мне это сделать? Что делать с индексами, подходит ли индекс ES Crate?

Можно подумать о нескольких потоках:

  1. Плавный переход, т.е. когда я делаю гибридный кластер с узлами ES + Crate, по крайней мере с одной репликой, а затем убиваю узлы ES ​​один за другим.
  2. Мы делаем резервные копии через плагин «elasticsearch-cloud-aws». Возможно ли «восстановить» эти снимки, но с узлами Crate вместо родных узлов ES?

Любые другие варианты для передачи большого куска данных, скажем, 1 ТБ?

Спасибо.


person Vlad Vlaskin    schedule 07.03.2014    source источник


Ответы (1)


Crate использует ES 1.0.1, начиная с версии 0.24.0, поэтому индексы lucene совместимы.

Это означает, что описанный вами поток «плавного перехода» должен работать. (Но я на самом деле не пробовал).

Но пока в кластере есть узлы без ящиков, SQL-запросы к ящику не будут работать, потому что обычные узлы ES ​​не знают, как обрабатывать запросы.

Еще несколько вещей, о которых вы, вероятно, должны знать, поскольку это может вызвать проблемы:

Crate ввел явные типы массивов в версии 0.25.0. Это означает, что если вы создадите новую таблицу, например. create table test (id integer ...) поле id будет использовать новый формат поля doc_values, который был добавлен в lucene некоторое время назад. Если вы хотите использовать массивы, вы должны создать таблицы с помощью SQL (с определениями типа, такими как array(integer) ).

Если вы попытаетесь запросить данные, которые были вставлены с помощью elasticsearch, вы можете получить странные результаты или даже столкнуться с ошибками, если поля содержат массивы, но в определении схемы отсутствует объявление.

Надеюсь, что это помогает немного. К сожалению, я не могу дать вам ответ относительно плагина elasticsearch-cloud-aws, но, возможно, кто-то другой сможет.

person mfussenegger    schedule 07.03.2014
comment
Спасибо за подробный ответ. Нам удалось передать данные через странный конвейер: сначала восстановив данные с помощью плагина резервного копирования aws, а затем заменив ES на CRATE в тех же папках данных. У него были некоторые проблемы из-за этого вопроса (stackoverflow.com/questions/22321309/), поэтому нам пришлось сначала восстановить данные на ES, а затем заменить их на Crate. - person Vlad Vlaskin; 24.03.2014