#hive #etl #emr #cascading
#улей #etl #emr #каскадирование
Вопрос:
У меня есть большой набор данных, хранящийся в AWS S3. Эти данные обычно представляют собой транзакционные данные (например, записи вызовов). Я запускаю последовательность запросов улья для непрерывного выполнения агрегированных и фильтрующих условий для создания пары конечных компактных файлов (csv с миллионами строк максимум). До сих пор с Hive мне приходилось вручную запускать один запрос за другим (так как иногда некоторые запросы не выполняются из-за некоторых проблем в AWS или etc).
До сих пор я обрабатывал данные за 2 месяца, используя ручные средства.
Но в последующие месяцы я хочу иметь возможность написать некоторый рабочий процесс, который будет выполнять запросы один за другим, и если запрос завершится неудачей, он снова запустит его. Этого НЕЛЬЗЯ сделать, запустив запросы улья в bash.sh файл (по крайней мере, мой текущий подход).
hive -f s3://mybucket/createAndPopulateTableA.sql
hive -f s3://mybucket/createAndPopulateTableB.sql ( this might need Table A to be populated before executing).
В качестве альтернативы, я рассматривал каскадирование, задаваясь вопросом, может ли это быть решением моей проблемы, и у него есть язык, который может соответствовать случаю. Не уверен, однако, как это вписывается в экосистему AWS.
Лучшим решением будет, если существует какой-либо рабочий процесс запроса улья, он будет оптимальным. Какие еще варианты у меня есть в экосистеме hadoop?
Отредактировано: сейчас я смотрю на Oozie, хотя столкнулся с sh!множество проблем, возникающих в emr. : (
Ответ №1:
Вы можете использовать AWS Data Pipeline:
AWS Data Pipeline позволяет легко создавать сложные рабочие нагрузки для обработки данных, которые являются отказоустойчивыми, воспроизводимыми и высокодоступными
Вы можете настроить его для выполнения или повторения некоторых действий при сбое скрипта, и он поддерживает сценарии улья: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-hiveactivity.html
Комментарии:
1. Привет, это тоже был один из вариантов, которые я рассматривал. Однако служба конвейера данных в настоящее время не поддерживается в моем регионе.