2016-03-02 3 views
0

Я использую AWS Data Pipeline для копирования файлов с S3 в таблицу RAW Redshift. Структура папок на S3 выглядит следующим образом:AWS Data Pipeline access S3

s3://test/folderA 
s3://test/example=01 
s3://test/example=02 
s3://test/example=03 
s3://test/example=04 

Я хочу, чтобы иметь возможность скопировать все файлы в «примере = ##» папки, но не «» folderA

Любые идеи, как это сделать это? Regex in Data Pipeline не работает.

ответ

0

Data Pipeline вызывает команду Redshift COPY для загрузки файлов S3 в Redshift. Путь S3 может быть только префиксом требуемых файлов. Вы можете посмотреть здесь документацию: http://docs.aws.amazon.com/redshift/latest/dg/t_loading-tables-from-s3.html

Если вы хотите написать свою собственную команду КОПИРОВАТЬ ПЕРЕДАЧИ, вы можете использовать SqlActivity для соединения Redshift. https://github.com/awslabs/data-pipeline-samples/tree/master/samples/SQLActivityWithTimeout

0

Если есть много файлов, то кажется, что файл манифест является лучшим выбором: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-s3datanode.html

Если есть только несколько файлов, я хотел бы использовать выражение для файла S3: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-expressions.html с пользователем определенных полей. Создайте несколько исполнений труб по требованию с разными значениями.

Смежные вопросы