RDS MySQL, Kinesis Firehose и Elasticsearch, начальная загрузка данных? - PullRequest
0 голосов
/ 24 мая 2018

Мне нужно проиндексировать данные из RDS (MySQL) и S3 (документы) в Elasticsearch для выполнения полнотекстового поиска.

Я заметил, что AWS Kinesis кажется идеальнымдля этого и может слушать как S3, так и MySQL, передавая отформатированные результаты в Elasticsearch.

Однако я не понимаю, как я могу набирать существующие данные с помощью Kinesis.

Для RDS-to-Elasticsearch я видел альтернативу go-mysql -asticsearch , которая бы справилась с этим для меня, но это все равно оставляет меня застрявшим в гигабайтах данных S3 для приема.

Кто-нибудь решил эту проблему?Я предпочел бы иметь как можно более простую настройку.

Спасибо

1 Ответ

0 голосов
/ 25 мая 2018

Обогащение данных / Метаданные

Что касается добавления метаданных к записям в ElasticSearch, вы, вероятно, думаете о том, что иногда называют обогащением данных.Здесь есть подробный пост в блоге , в котором говорится о том, как принимать и обогащать данные, используя как статические, так и динамические справочные данные.Используя AWS Lambda для обогащения ваших данных, вы можете запускать динамические запросы к источникам данных и изменять свои записи, прежде чем они будут включены в ElasticSearch через Kinesis Firehose.

Массовый импорт

Потоки данных KinesisAPI поддерживает API пакетного приема, который называется PutRecords.Вы можете вставить до 500 записей в свой поток данных Kinesis одним вызовом API.Объявление об этом здесь .

Как только вы настроите свой конвейер приема и обогащения для новых записей, вы можете написать приложение, которое извлекает записи,старше даты, когда вы установили конвейер и записали их в поток данных Kinesis.

потоки данных Amazon Kinesis |Справочник по API сервиса |PutRecords

...