Я установил Firehose и выбрал параметры, которые, как казалось, приведут к тому, что потоковые данные попадут в Redshift. У меня есть один Firehose и один целевой стол в Redshift. Данные отображаются правильно в промежуточном сегменте S3, но не попадают в Redshift.
Я разрешил доступ CIDR [1] региона Firehose к кластеру через группы безопасности Redshift. Я предоставил Firehose учетные данные кластеру Redshift и проверил их. Кластер общедоступен.
В STL_LOAD_ERRORS
таблица пуста, поэтому я ожидал увидеть ошибки, вызванные любым оператором копирования, который был предпринят и не удался. Также нет DeliveryToRedshift
события в CloudWatch. Это наводит меня на мысль, что нет даже попытки добраться до Redshift.
Я использую Опции КОПИРОВАНИЯ Redshift для указания файла jsonpath для копии. В настоящее время у меня есть: json "s3://app-event-data/_jsonpaths/_bigtable.jsonpath.json"
. Этот файл существует в s3 в этом месте и выглядит как файл jsonpath [3]. Я также попытался добавить учетные данные в это поле, но мне это не нужно.
Я включил регистрацию в Redshift, которая показала мне, что есть успешные аутентификации, сделанные из Firehose. Затем я создал новую группу параметров с включенным ведением журнала активности пользователей и перезагрузил кластер. Ждем следующей партии журнала.
Почему ServerFault? Лучший сайт StackExchange для вопросов об Amazon AWS
Я бы отметил этот вопрос: amazon-kinesis, amazon-firehose, amazon-redshift.
Вот все, что я изначально неправильно сконфигурировал и в конечном итоге скорректировал, чтобы заставить Firehose правильно копировать данные в Redshift:
Сначала это немного сбивает с толку, потому что селектор региона в консоли сегментов говорит «глобальный».
Одинарные кавычки только в вариантах копирования.
Предоставьте Firehose доступ к вашему кластеру Redshift, авторизовав правильный CIDR / IP на вкладке безопасности Redshift. Вы можете найти правильный CIDR / IP для региона, в котором вы создали свой Firehose. Вот. Для этого не нужно создавать новую группу Cluster Security. Вы можете просто добавить его к стандартному. Если вы добавляете новую группу безопасности, вам необходимо перенастроить кластер с панели управления, чтобы использовать новую группу безопасности, в ней не может быть 2.
Redshift COPY не принимает метки времени с часовыми поясами за пределами UTC. Если вы используете такой формат, как RFC3339, вам нужно сначала указать время в формате UTC и указать TIMEFORMAT 'auto'
в параметрах копирования.
Чтобы иметь представление о том, что происходит, когда что-то не работает, вам нужно включить Журнал активности пользователей в Redshift от:
true
Enable user activity logging
достижение разблокировано