A: Нередко разные трубы имеют одинаковое значение ARN в одном регионе. До тех пор, пока ваши целевые назначения различаются в операторах копирования, вы должны правильно вводить данные правильно. Трубы в одних и тех же регионах имеют одну и ту же очередь для передачи данных. Все сводится к правильной настройке пункта назначения.
Q: Мои целевые назначения отличаются:
создание или замена трубы gen3_pipeauto_ingest = true
как
copy into gen3_data(device_id, event_datetime, load, origin, inserted_at )
from (select $1:device_id, TO_TIMESTAMP_NTZ($1:event_datetime), $1:load, metadata$filename, CURRENT_TIMESTAMP from @rawdata)
создать или заменить трубу gen2_pipe auto_ingest = true
как
copy into gen2_data(device_id, event_datetime, load, origin, inserted_at)
from (select $1:device_id, TO_TIMESTAMP_NTZ($1:event_datetime), $1:load, metadata$filename, CURRENT_TIMESTAMP from @rawdata)
Обе таблицы gen2 и gen3 получаютодни и те же данные, в основном gen2, является копией gen3.
Если оба канала подписаны на один ARN, как я могу различить события?
A: Совместное использование очередей (ARN) между каналами нормально. Пока ваша целевая таблица отличается в обоих операторах (для обоих каналов) и не включает в себя очистку ни в одном из каналов, когда файл попадает в корзину, он загружается в обе таблицы gen3_data и gen2_data. Вы можете сбросить файл и проверить его. Дайте мне знать, если возникнут какие-либо проблемы, и мы сможем отладить.
Q: В этом и заключается проблема. Я хочу отделить данные, поступающие от s3, и для этого у меня есть два отдельных события S3, надеясь, что каналы снежинки будут перечислены в каждом своем событии. Но оба канала имеют одинаковый ARN, поэтому разделение на этом уровне кажется невозможным, или это так?
A: Может быть, я не правильно понимаю это. Вы хотите загрузить один и тот же файл в обе целевые таблицы или вы различаете файлы, которые загружаются в соответствующие вкладки? Вы можете включить префикс в оператор при создании внешнего этапа. Когда файл данных выгружается в корзину, все каналы, которые соответствуют пути каталога рабочей области, выполняют однократную загрузку файла в соответствующие таблицы назначения.
Например: создать двухэтапную стадию для DEV is "s3://bucket/sub_folder_1
", а для PROD -" s3://bucket/sub_folder_2
".
Создание копии в командах для целевой таблицы, определенной также как указывающая на соответствующие этапы.
Q: Да, спасибо! Я придумал решение с префиксами / папками при создании внешних этапов.
Первоначальная идея состояла в том, чтобы использовать два события на стороне s3 с разными префиксами, поскольку они нам нужны и для других целей.
Таким образом, нет никакого способа сообщить каналу, какую очередь слушать (т. Е. Назначить ARN) явно, есть?
A: Это правильно. Ссылка этапа должна быть разной для каждого канала, иначе они могут загрузить один и тот же набор файлов в одну или несколько таблиц назначения.