Импорт данных из mysql в druid

Я использую mysql для хранения всех данных и запросов. Но поскольку теперь размеры таблиц стали настолько большими, что иногда требуются часы, чтобы получить результаты. Я предпринял все возможные меры, такие как оптимизация запросов и правильная индексация таблиц.

Итак, я подумал об использовании друида. Раньше с друидом не работал. Я думаю, мне нужно импортировать все таблицы, данные из mysql в druid. Я не понимаю, с чего мне начать. Так что, если кто-нибудь любезно поможет мне с каким-либо руководством, я буду очень благодарен. Заранее спасибо.


person Joy    schedule 17.01.2014    source источник
comment
Если вам нужна информация о сравнении производительности MySQL и Druid, см. блог по адресу druid.io.   -  person user766353    schedule 18.03.2014


Ответы (2)


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

Выведите свои данные в CSV или TSV. Это два формата, поддерживаемых для пакетной загрузки. Итак, ваши данные будут выглядеть примерно так:

2013-08-31T01:02:33Z,"someData","true","true","false","false",57,200,-143
2013-08-31T03:32:45Z,"moreData","false","true","true","false",459,129,330
...

Затем вы можете создать задачу индексации, в которой есть раздел пожарного шланга, в котором вы указываете местоположение файла, формата и столбцов:

"firehose" : {
   "type" : "local",
   "baseDir" : "my/directory/",
   "filter" : "my.csv",
   "parser" : {
     "timestampSpec" : {
       "column" : "timestamp"
     },
     "data" : {
       "type" : "csv",
       "columns" : ["timestamp","data1","data2","data3",...,"datan"],
       "dimensions" : ["data1","data2","data3",...,"datan"]
     }
   }
 }

Обратите внимание на особую обработку столбца отметок времени.

Теперь запустите службу индексирования (документы Druid содержат информацию о том, как запустить кластер, который вам понадобится) и передайте ему задачу, как описано в разделе Пакетная загрузка с помощью службы индексирования . Данные будут загружены и обработаны в сегменты Druid, которые вы можете запросить.

person user766353    schedule 06.02.2014
comment
Приведенная выше спецификация все еще верна для последней версии druid? - person jagamot; 06.04.2016
comment
что, если у меня несколько таблиц? - person Crystal; 20.06.2016
comment
В последней версии есть документы, дающие пример формата csv и config.json, используемых для загрузки здесь. - person Max; 07.03.2018
comment
нет необходимости экспортировать данные в CSV. Использовать прием ввода SQL druid.apache.org/ docs / latest / ingestion / - person noleto; 01.06.2021

Во-первых, я не думаю, что druid лучше работает как хранилище, точнее, когда мы говорим, что это инструмент запросов и обработки в реальном времени. кроме того, я предпочитаю использовать комбинацию hive + hdfs для замены mysql, поскольку размер ваших таблиц увеличивается. Более того, druid может использовать hdfs как свое глубокое хранилище.

person shen    schedule 05.08.2015