S3 для красного смещения нифи - PullRequest
1 голос
/ 03 ноября 2019

Я читал некоторое время о том, как загрузить мои данные S3 в Redshift, команду COPY, Glue и т. Д. Мой конвейер почти полностью находится в NIFI, что-то вроде: extract_data-> insert to S3-> Excute Lamda process для преобразования данных илиобогащать его с помощью Athena, в 2 или 3 этапа, в другое ведро S3 (давайте назовем его обработанным сегментом).

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

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

Может кто-нибудь дать мненамек с чего начать? Спасибо!

1 Ответ

0 голосов
/ 04 ноября 2019

Когда данные попадают в ваше «обработанное ведро», вы можете запустить лямбда-функцию, которая запускает поток в Apache NiFi, вызывая HTTP webhook. Чтобы выставить такой webhook, вы используете один из следующих процессоров:

ListenHTTP

Запускает HTTP-сервер и прослушивает данныйбазовый путь для преобразования входящих запросов в FlowFiles. URI по умолчанию для Сервиса будет http://{hostname}:{port}/contentListener. Поддерживаются только запросы HEAD и POST. GET, PUT и DELETE приведут к ошибке и коду HTTP-статуса ответа 405.

HandleHttpRequest

Запускает HTTP-сервер и прослушивает HTTP-запросы. Для каждого запроса создает FlowFile и переводит в «успех». Этот процессор предназначен для использования в сочетании с процессором HandleHttpResponse для создания веб-службы

, поэтому поток будет ListenHTTP -> FetchS3 -> Process -> PutSQL (with Redshift connection pool). Лямбда-функция будет вызывать GET my-nifi-instance.com:PORT/my-webhook, так что ListenHTTP создает потоковый файл для входящего запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...