Начните работать с AWS бесплатно
Создать бесплатный аккаунтили войти в консоль
Уровень бесплатного пользования AWS включает 750 часов использования узла кэша типа Micro в Amazon ElastiCache.
Вопрос. Что такое AWS Data Pipeline?
AWS Data Pipeline – это веб-сервис, который упрощает планирование регулярных операций по перемещению и обработке данных в облаке AWS. Сервис AWS Data Pipeline интегрируется с локальными и облачными системами хранилищ данных, позволяя разработчикам использовать данные в любое время, в любом месте и в нужном формате. AWS Data Pipeline позволяет быстро создать цепочку зависимостей из источников данных, целевых объектов, встроенных или настраиваемых операций, называемую конвейером. По определенному вами графику конвейер регулярно выполняет операции обработки данных, например распределенное копирование данных, преобразования SQL, запуск приложений MapReduce или настраиваемых скриптов, с использованием таких сервисов назначения, как Amazon S3, Amazon RDS или Amazon DynamoDB. Полностью управляемый и масштабируемый сервис Data Pipeline гарантирует надежность и высокую доступность конвейеров, контролируя расписание операций, повторные попытки и обработку отказов.
Вопрос. Какие задачи можно выполнять с помощью AWS Data Pipeline?
С помощью AWS Data Pipeline можно легко и быстро создавать конвейеры, выполняющие ежедневные операции с данными. Освободившись от разработки и выполнения рутинных задач по обслуживанию, вы сможете сконцентрироваться на анализе своих данных. От вас требуется только указать для конвейера данных источники, график и нужные операции обработки. AWS Data Pipeline обеспечивает выполнение и мониторинг операций по обработке данных в высоконадежной и отказоустойчивой инфраструктуре. Кроме того, для еще большего упрощения процесса разработки AWS Data Pipeline поддерживает встроенные действия для выполнения стандартных операций, таких как копирование данных между хранилищами Amazon S3 и Amazon RDS или выполнение запросов по данным журналов в Amazon S3.
Вопрос. Чем сервис AWS Data Pipeline отличается от сервиса Amazon Simple Workflow?
Хотя оба сервиса обеспечивают отслеживание выполнения, обработку необходимых повторов и исключений, а также выполнение произвольных действий, AWS Data Pipeline специально создан, чтобы упростить выполнение конкретных шагов – типовых для большинства рабочих процессов, управляемых данными. Примерами могут служить выполнение операций после того, как входные данные начинают соответствовать определенным критериям готовности, копирование данных между различными хранилищами данных и планирование цепочек последовательных преобразований. Такая узкая направленность позволяет быстро создавать в сервисе Data Pipeline определения рабочего процесса без создания кода и изучения программирования.
Конвейер – это ресурс сервиса AWS Data Pipeline, который содержит определение зависимой цепочки источников и сервисов назначения данных, а также встроенных или настраиваемых операций обработки данных, требуемых для выполнения бизнес-логики.
Вопрос. Что такое узел данных?
Узел данных – это представление ваших бизнес-данных. Например, узел данных может содержать ссылку на некоторый путь Amazon S3. AWS Data Pipeline поддерживает язык выражений, позволяющий легко ссылаться на регулярно генерируемые данные. Например, вы можете задать формат данных Amazon S3 в виде s3://example-bucket/my-logs/logdata-#{scheduledStartTime('ГГГГ-ММ-дд-ЧЧ')}.tgz.
Операция – это действие, инициируемое сервисом AWS Data Pipeline от вашего имени и входящее в состав конвейера. Примерами операций являются задания EMR или Hive, копирование, запросы SQL или скрипты командной строки.
Вопрос. Что такое предварительное условие?
Предварительное условие – это проверка готовности, которая может быть связана с источником данных или операцией. Если для источника данных определена проверка предварительного условия, то она должна успешно завершиться, прежде чем будут запущены какие-либо операции, использующие этот источник данных. Если для операции определена проверка предварительного условия, то она должна успешно завершиться, прежде чем начнется выполнение операции. Предварительные условия будут полезны при выполнении операций с высокой стоимостью вычислений, которые должны быть выполнены только в случае удовлетворения определенных критериев.
Вопрос. Что такое график?
График определяет время выполнения операций конвейера и частоту, с которой сервисы ожидают поступления данных. Для всех графиков необходимо задать исходную дату и частоту, например «с 1 января 2013 года, ежедневно в 15:00». Для графиков можно также задать конечную дату, после которой сервис AWS Data Pipeline перестанет выполнять любые операции. Когда вы связываете график с операцией, эта операция выполняется в указанные графиком сроки. Когда вы связываете график с источником данных, AWS Data Pipeline ожидает обновления данных источников в соответствии с этим графиком. Например, если для источника данных Amazon S3 установлен ежечасный график, то сервис будет ожидать появления новых файлов в источнике каждый час.
Вопрос. Есть ли в Data Pipeline какие-либо стандартные операции?
Да, AWS Data Pipeline обладает встроенной поддержкой следующих операций.
- CopyActivity. Эта операция копирует данные между источниками данных Amazon S3 и JDBC или запускает запрос SQL и копирует его выходные данные в Amazon S3.
- HiveActivity. Эта операция позволяет легко выполнять запросы Hive.
- EMRActivity. Эта операция позволяет запускать произвольные задания Amazon EMR.
- ShellCommandActivity. Эта операция позволяет запускать произвольные команды или программы оболочки Linux.
Вопрос. Есть ли в AWS Data Pipeline какие-либо стандартные предварительные условия?
Да, AWS Data Pipeline обладает встроенной поддержкой следующих предварительных условий.
- DynamoDBDataExists. Это предварительное условие проверяет наличие данных в таблице DynamoDB.
- DynamoDBTableExists. Это предварительное условие проверяет наличие таблицы DynamoDB.
- S3KeyExists. Это предварительное условие проверяет существование определенного пути Amazon S3.
- S3PrefixExists. Это предварительное условие проверяет наличие хотя бы одного файла по определенному адресу.
- ShellCommandPrecondition. Это предварительное условие запускает произвольные скрипты на ваших ресурсах и проверяет их успешное выполнение.
Вопрос. Можно ли использовать настраиваемые операции?
Да, вы можете воспользоваться операцией ShellCommandActivity для запуска кода произвольной логики операций.
Вопрос. Можно ли применять настраиваемые предварительные условия?
Да, вы можете воспользоваться предварительным условием ShellCommandPrecondition для запуска произвольной логики условий.
Вопрос. Можно ли задать несколько графиков для разных операций в одном конвейере?
Да, для этого достаточно задать соответствующее количество объектов графиков в файле определения конвейера и связать каждый график с соответствующей операцией через поле schedule. К примеру, так можно определить конвейер, в котором файлы журналов ежечасно сохраняются в Amazon S3 для генерирования агрегированного отчета раз в день.
Вопрос. Что произойдет при сбое операции?
Сбой операции означает, что все попытки выполнения этой операции завершились в состоянии ошибки. По умолчанию перед возникновением состояния устойчивого сбоя для операции выполняется три попытки. Вы можете увеличить число автоматически выполняемых повторных попыток до 10. Система не поддерживает неограниченное количество попыток. После исчерпания заданного числа попыток выполнения операции будет запущено любое заданное предупреждение об отказе (onFailure). Повторные попытки выполнения операции не будут предприняты до тех пор, пока вы вручную не дадите команду повторного выполнения с помощью командной строки, API или кнопки консоли.
Вопрос. Как задать предупреждение для операции?
Вы можете настроить запуск предупреждений Amazon SNS для случаев успешного выполнения, отказа или задержки выполнения операций. Создайте объект предупреждения и укажите ссылку на него в слотах onFail, onSuccess и (или) onLate для объекта операции.
Вопрос. Можно ли вручную перезапустить операции, при выполнении которых произошел сбой?
Да. Вы можете перезапустить набор завершенных или завершившихся сбоем операций, установив для них состояние SCHEDULED. Это можно сделать, нажав кнопку «Rerun» в пользовательском интерфейсе или изменив их состояние в командной строке или посредством API. При этом сразу же будет запланирована повторная проверка всех зависимостей операции с последующими дополнительными попытками выполнения. В случае последующих сбоев будет произведено заданное количество повторных попыток.
Вопрос. На каких ресурсах выполняются операции?
Операции AWS Data Pipeline выполняются на принадлежащих вам вычислительных ресурсах. Различаются два типа вычислительных ресурсов: ресурсы под управлением AWS Data Pipeline и под вашим управлением. Ресурсы под управлением AWS Data Pipeline – это кластеры Amazon EMR или инстансы Amazon EC2, запускаемые сервисом AWS Data Pipeline только по мере необходимости. Ресурсы под вашим управлением работают дольше. Это могут быть любые ресурсы, способные выполнять средство Task Runner из AWS Data Pipeline на основе Java, например локальное оборудование, инстанс Amazon EC2 под управлением пользователя и т. д.
Вопрос. Выполняет ли сервис AWS Data Pipeline выделение и завершение работы вычислительных ресурсов под своим управлением?
Да, вычислительные ресурсы будут выделены, как только будет готова первая операция с запланированным временем выполнения, использующая эти ресурсы. После успешного завершения или сбоя последней операции, использующей эти ресурсы, эти инстансы будут остановлены.
Вопрос. Можно ли использовать несколько вычислительных ресурсов в одном конвейере?
Да, для этого достаточно задать соответствующее количество объектов кластеров в файле определения конвейера и связать каждый кластер с соответствующей операцией посредством поля runsOn. Это позволит конвейеру для своих операций использовать разные сочетания ресурсов AWS и локальных ресурсов или разные типы инстансов. Например, можно недорого выполнять быстрые скрипты в инстансах t1.micro, а далее в том же конвейере запустить задание Amazon EMR в кластере более крупных инстансов.
Вопрос. Можно ли выполнять операции на локальных ресурсах или на ресурсах AWS под моим управлением?
Да. Для выполнения операций на локальных ресурсах AWS Data Pipeline предоставляет пакет Task Runner, который можно установить на локальные хосты. Этот пакет непрерывно опрашивает сервис AWS Data Pipeline о наличии работы, требующей выполнения. Когда приходит время выполнять на локальных ресурсах определенную операцию, например хранимую процедуру БД или архивацию базы данных, AWS Data Pipeline выдает для Task Runner соответствующую команду. Чтобы гарантировать высокую доступность операций конвейера, можно организовать для одного задания опрос с нескольких агентов Task Runner. Тогда в случае недоступности одного из Task Runner работу возьмут на себя другие.
Вопрос. Как установить Task Runner на локальный хост?
Чтобы установить пакет Task Runner на локальный хост, выполните следующие шаги.
- Загрузите пакет AWS Task Runner.
- Создайте файл конфигурации с учетными данными для доступа к AWS.
- Запустите агент Task Runner с помощью следующей команды:
java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=[myWorkerGroup] - При определении операций задайте их выполнение на [myWorkerGroup], чтобы отправить их на предварительно установленные хосты.
Вопрос. Как начать работу с AWS Data Pipeline?
Чтобы начать работу с AWS Data Pipeline, достаточно войти в Консоль управления AWS и перейти на вкладку AWS Data Pipeline. Здесь можно создать конвейер в простом графическом редакторе.
Вопрос. Какие задачи можно выполнять с помощью AWS Data Pipeline?
С помощью AWS Data Pipeline можно запланировать периодически выполняемые задания обработки данных и управлять ими. Этот сервис позволяет не только заменить простые системы на основе неустойчивых механизмов cron, но и создавать сложные многоэтапные задания обработки данных.
Вопрос. Доступны ли примеры конвейеров для тестовой работы с AWS Data Pipeline?
Да, примеры конвейеров доступны в нашей документации. Кроме того, в Консоли имеется несколько шаблонов конвейеров, которыми можно воспользоваться для начала работы.
Вопрос. Сколько конвейеров можно создать в AWS Data Pipeline?
По умолчанию в аккаунте можно создать не более 100 конвейеров.
Вопрос. Есть ли ограничения на количество объектов в одном конвейере?
По умолчанию в каждом создаваемом конвейере может быть не более 100 объектов.
Вопрос. Возможно ли изменение ограничений?
Да. Чтобы повысить ограничения, свяжитесь с нами.
Вопрос. Ваши цены указаны с учетом налогов?
Если не указано иное, представленные здесь цены не включают применимые налоги и сборы, в том числе НДС и применимый налог с продаж. Для клиентов с платежным адресом в Японии использование сервисов AWS облагается потребительским налогом Японии. Подробнее.