Можно ли перенести данные из Redshift в Elasticsearch?

Я работаю над чем-то, связанным со службой эластичного поиска Amazon. Для этого мне нужно получить данные от Amazon Redshift. Данные, которые нужно передать, огромны, т.е. 100 ГБ. Есть ли способ получить их напрямую из Redshift или это два? пошаговый процесс, например Redshift-> s3-> elasticsearch?




Ответы (3)


Я вижу, по крайней мере в теории, 2 возможных подхода для передачи данных из Redshift в Elasticsearch:

  1. Logstash с помощью плагина ввода JDBC
  2. elasticsearch-jdbc
person Javier Alba    schedule 17.11.2015
comment
Существуют ли какие-либо практические ограничения для вышеуказанных подходов? - person AV94; 17.11.2015

  1. Не сжимайте выгруженные данные.
  2. Используйте объемную нагрузку на резинку
  3. Используйте большое количество записей в массовой загрузке (> 5000) — чем меньше больших массовых загрузок, тем лучше, чем больше мелких.
  4. При работе с эластичным поиском AWS существует риск превышения пределов размера массовой очереди.
  5. Обработайте один файл в лямбда-выражении, а затем рекурсивно вызовите лямбда-функцию с событием
  6. Перед рекурсией подождите пару секунд -> setTimeout. При ожидании убедитесь, что вы не бездействуете в течение 30 секунд, потому что ваша лямбда остановится.
  7. Не используйте создание объекта s3 для запуска вашей лямбды — в итоге вы получите несколько лямбда-функций, вызываемых одновременно.
  8. Не пытайтесь поставить kinesis посередине — выгрузка ваших данных в kinesis почти наверняка приведет к превышению пределов нагрузки в kinesis.
  9. Следите за размером своей очереди эластичного поиска примерно так:
curl https://%ES-SERVER:PORT%/_nodes/stats/thread_pool |jq
    ‘.nodes |to_entries[].value.thread_pool.bulk’
person olekb    schedule 24.07.2017
comment
Этот ответ скопирован из этого сообщения в блоге: rojotek.com/blog/2016/11/22/ - person Reign of Error; 08.02.2021

Похоже, что нет прямого конвейера передачи данных для отправки данных в elasticsearch из Redshift. Один из альтернативных подходов — сначала выгрузить данные в S3, а затем отправить в elasticsearch.

person AV94    schedule 10.11.2015