Статьи

Hadoop на Azure: улей и Amazon Elastic MapReduce

Примечание . Эта статья является второй половиной моей недавней статьи » Выполнение рабочего процесса Elive MapReduce Hive» из статьи AWS Management Console со слегка измененным заголовком. Он предназначен для людей, которые хотят использовать только файлы S3 в качестве источника интерактивной функции Hive предварительного просмотра Apache Hadoop в Windows Azure (также известной как HadoopOnAzure или HoA). Вам понадобится учетная запись Amazon Web Services (AWS) для входа в AWS на шаге 4 и открытия открытого ~ 100 МБ файла feature_index из расположения, указанного на шаге 7.


• Обновление 6/2/2011: старший разработчик Microsoft Hadoop для Windows и Windows Azure Брэд Сарсфилд (@ bradooop ) сообщил в ответ на мою « Какую версию Hive использует HadoopOnAzure? нить в HadoopOnAzure Yahoo! Группа :

образМы перенесем предварительный просмотр, чтобы использовать Hive 0.8.1 очень скоро, недели, а не месяцы. Мы работали над этим в рамках более масштабной версии, которая включает обновление ядра Hadoop до кодовой строки 1.0.x.

Некоторые из вас заметили, что мы недавно добавили несколько патчей в ядро ​​Hadoop. Мы очень рады видеть, что патчи текут и начинают появляться.

Для тех из вас, кто использует предварительный просмотр Hadoop для Windows, который в настоящее время находится в режиме предварительного просмотра с ограниченным приглашением, обновленный MSI появится в тот же период времени.

Брэд Сарсфилд

В более раннем твите Брэд сообщал, что Apache Hadoop в Windows Azure Preview работает под управлением Apache Hive 0.7.1 .

 


В учебном пособии « Использование данных из двоичных объектов Windows Azure с Apache Hadoop в Windows Azure CTP» описывается, как указать двоичный объект Windows Azure в качестве источника данных для интерактивного запроса Hive с помощью предварительного просмотра HadoopOnAzure группы SQL Server. В этом разделе описывается аналогичный процесс, который заменяет файл, созданный в моем рабочем процессе Elive MapReduce Hive из статьи AWS Management Console, в качестве источника данных таблицы Hive. (Этот файл имеет открытый список / разрешения на чтение в S3.)

В этом разделе предполагается, что вы получили приглашение протестировать Hadoop в предварительном просмотре Azure. Если нет, перейдите на эту целевую страницу , нажмите на ссылку приглашения и заполните анкету, чтобы получить код приглашения по электронной почте:

image_thumb68

Примечание . Если вы не хотите создавать учетную запись Amazon Web Services, вы можете загрузить файл feature_index / 000000 из моей учетной записи SkyDrive здесь , загрузить его в большой двоичный объект Windows Azure и подключиться к большому двоичному объекту в качестве источника данных для этого упражнения. ,

Чтобы настроить источник данных S3 и выполнить запросы HiveQL в интерактивном режиме, выполните следующие действия:

1. Перейдите на целевую страницу HadoopOnAzure , нажмите «Войти» и укажите свой Live ID и пароль, чтобы открыть главную страницу HoA (см. Шаг 2), если у вас есть активный кластер, или страницу «Запросить кластер», если вы этого не делаете. , В последнем случае введите глобально уникальный префикс DNS для кластера, выберите размер кластера, введите свой административный логин, пароль и подтверждение пароля:

image_thumb91

Примечание . Пароли должны содержать заглавные и строчные буквы и цифры. Символы не допускаются. Когда ваш пароль и подтверждение пройдут проверку, кнопка «Запросить кластер» станет активной. Если большой кластер доступен, выберите его. В течение периода предварительного просмотра плата не взимается.

2. Нажмите кнопку «Запросить кластер», чтобы начать подготовку и отобразить ее статус. Через несколько минут открывается главная страница HoA:

image_thumb94

Примечание : срок службы кластера составляет 48 часов; вы можете обновить кластер только в течение последних шести часов жизни. Счет истории заданий будет равен 0, если вы ранее не выполняли задания.

3. Нажмите плитку Управление кластером, чтобы открыть страницу с тем же именем:

image_thumb75

4. Нажмите кнопку «Настроить S3», чтобы открыть страницу «Загрузить с Amazon S3», введите свой ключ доступа AWS и секретный ключ и примите стандартную файловую систему S3N по умолчанию:

image_thumb78

5. Нажмите «Сохранить настройки», чтобы отобразить сообщение «Успешная загрузка Amazon S3», несмотря на то, что вы ничего не загрузили.

6. Дважды щелкните стрелку назад, чтобы вернуться на главную страницу HoA, щелкните плитку Interactive Console, чтобы открыть консоль, и нажмите кнопку Hive, чтобы выбрать функцию Interactive Hive.

7. Введите следующий запрос HiveQL DDL в текстовое поле внизу страницы, чтобы определить связанную таблицу:

CREATE EXTERNAL TABLE feature_index (
feature STRING,
ad_id STRING,
clicked_percent DOUBLE )
COMMENT 'Amazon EMR Hive Output'
STORED AS SEQUENCEFILE
LOCATION 's3n://oakleaf-emr/hive-ads/output/2012-05-29/feature_index';

 

image_thumb82

8. Нажмите кнопку Evaluate, чтобы выполнить запрос и создать связанную таблицу Hive:

image_thumb85

Примечание . Данные не загружаются, пока вы не выполните запрос, который возвращает строки. Выполнение SELECT COUNT (*) FROM feature_index указывает, что в таблице 1750 650 строк.

9. Откройте список таблиц, который отображает таблицу, которую вы только что создали, и hivesampletable HoA . Список столбцов отображает список имен столбцов выбранной таблицы.

10. Чтобы отобразить первые 20 строк таблицы, нажмите «Очистить экран», а затем введите и выполните следующий запрос HiveQL:

SELECT * FROM feature_index LIMIT 20

image_thumb88

11. В разделе «Применение эвристики» контекстной рекламы AWS с использованием статей Apache Hive и Amazon EMR предлагается выполнить следующий пример запроса HiveQL к таблице feature_index «, чтобы увидеть, как он работает для функций« us: safari »и« ua: хром «»:

SELECT ad_id, -sum(log(if(0.0001 > clicked_percent, 0.0001, clicked_percent))) AS value
FROM feature_index
WHERE feature = 'ua:safari' OR feature = 'ua:chrome'
GROUP BY ad_id
ORDER BY value DESC
LIMIT 100 ; 

Согласно статье:

Результатом является реклама, упорядоченная по эвристической оценке вероятности клика. На этом этапе мы могли бы посмотреть рекламные объявления и, возможно, увидеть преобладание рекламных объявлений для продуктов Apple.

Примечание . Исходный запрос отсортирован по возрастанию; сортировка по убыванию сначала дает более интересные результаты (больше шансов на клик):

image_thumb99

Вот существенное содержание скрытой истории улья:

2012-05-30 18:34:58,774 Stage-1 map = 0%, reduce = 0%
2012-05-30 18:35:13,836 Stage-1 map = 1%, reduce = 0%
2012-05-30 18:35:16,852 Stage-1 map = 63%, reduce = 0%
2012-05-30 18:35:19,883 Stage-1 map = 100%, reduce = 0%
2012-05-30 18:35:34,899 Stage-1 map = 100%, reduce = 33%
2012-05-30 18:35:37,930 Stage-1 map = 100%, reduce = 100%
Ended Job = job_201205301808_0002
Launching Job 2 out of 2
Number of reduce tasks determined at compile time: 1
…
2012-05-30 18:36:05,649 Stage-2 map = 0%, reduce = 0%
2012-05-30 18:36:17,664 Stage-2 map = 50%, reduce = 0%
2012-05-30 18:36:20,680 Stage-2 map = 100%, reduce = 0%
2012-05-30 18:36:35,711 Stage-2 map = 100%, reduce = 100%
Ended Job = job_201205301808_0003
OK
Time taken: 133.969 seconds