Начать работу с AWS бесплатно

Создать бесплатный аккаунт
или войти в Консоль

Уровень бесплатного пользования AWS включает 750 часов использования узла микрокэша Amazon ElastiCache.

Сведения об уровне бесплатного пользования AWS »

Вопрос: Что такое 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 предназначен для простого выполнения конкретных шагов, обычных для большинства рабочих процессов, зависящих от данных, в частности для выполнения операций после того, как их входные данные начнут удовлетворять определенным критериям готовности, для копирования данных между разными хранилищами данных и для планирования последовательностей преобразований. Эта узкая направленность сервиса позволяет быстро создать рабочий процесс без изучения программирования и написания кода.

Вопрос: Что такое конвейер?

Конвейер – это ресурс сервиса 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. Это предварительное условие проверяет существование определенного пути AmazonS3.
  • 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 на локальный хост, выполните следующие шаги.

  1. Загрузите пакет AWS Task Runner.
  2. Создайте файл конфигурации, содержащий ваши данные для доступа AWS.
  3. Запустите агент Task Runner с помощью следующей команды:
    java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=[myWorkerGroup]
  4. При определении операций задайте их выполнение на [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 облагается потребительским налогом Японии. Подробнее.