Практическая работа. Подключение к кластеру и работа с Hive

На этом уроке вы научитесь подключаться к кластеру Hadoop и работать с ним на примере выполнения запросов с помощью Hive.

Подключение к кластеру

Подключимся к управляющему хосту главного подкластера. Поскольку хостам кластера Hadoop не назначается публичный IP-адрес, для подключения к ним нужна виртуальная машина, расположенная в той же сети Yandex.Cloud.Выберите машину, которую создавали раньше, или создайте новую. Подключитесь к ней по SSH. Вы уже делали это, когда изучали виртуальные машины.Подключитесь с этой машины к хосту главного подкластера также с помощью SSH. Для этого на машине должен быть SSH-ключ, который вы указали при создании кластера Data Proc. Вы можете скопировать ключ на виртуальную машину или подключаться к ней с запущенным SSH-агентом.Запустите SSH-агент:

Скопировать кодeval `ssh-agent -s` 

Добавьте ключ в список доступных агенту:

Скопировать кодssh-add ~/.ssh/*example-key* 

Откройте SSH-соединение с хостом Data Proc для пользователя root, например:

Скопировать кодssh root@*rc1b-dataproc-m-fh4y4nur0i0uqqkz.mdb.yandexcloud.net* 

Пошаговые инструкции по различным способам подключения к кластеру Data Proc приведены в документации.Вы должны получить примерно такой результат.

image

Проверим, что команды Hadoop выполняются, например:

Скопировать кодhadoop version 

Результат выполнения этой команды выглядит так:

image

Запуск заданий Apache Hive

Как мы уже говорили ранее, Hive — это платформа для хранения данных и управления ими в экосистеме Hadoop. Она используется для доступа к большим датасетам, сохранённым в распределённом хранилище.Hive позволяет работать с данными различного формата (csv, tsv, Parquet, ORC, Avro и другими), подключаться к БД и взаимодействовать с ней с помощью SQL-подобного языка запросов. Hive используется преимущественно для работы с данными в HDFS, HBase, S3-совместимых хранилищах и реляционных СУБД.Запрос на действия с данными в Hive называется заданием. Задания можно запускать на управляющем хосте с помощью командной оболочки (CLIHive, а также с помощью CLI Yandex.Cloud.Для запуска Hive CLI выполните команду hive на управляющем хосте.Проверьте, всё ли работает: выполните, например, команду select 1; — корректный результат выглядит так:

image

Теперь создайте внешнюю таблицу (external table) в формате Parquet, содержащую открытые данные о списке перелётов между городами США в 2018 году. Для этого с помощью Hive CLI выполните запрос:

Скопировать кодhive> CREATE EXTERNAL TABLE flights (Year bigint, Month bigint, FlightDate string, Flight_Number_Reporting_Airline bigint, OriginAirportID bigint, DestAirportID bigint) STORED AS PARQUET LOCATION 's3a://yc-mdb-examples/dataproc/example01/set01'; 

Проверим список таблиц, выполнив команду show tables. Результат должен выглядеть так:

image

Запросим число перелётов с разбивкой по месяцам:

Скопировать кодhive> SELECT Month, COUNT(*) FROM flights GROUP BY Month; 

Пример результата такого запроса:

image

Безусловно, на одном примере сложно показать возможности сервиса Data Proc. Если вас интересует работа с большими данными в облаке, посмотрите доклады сотрудников Yandex.Cloud об управлении кластерами Hadoop и заданиями в Data Proc на YouTube-канале Yandex.Cloud.

Previous Story

Практическая работа. Использование сервиса Data Proc для создания кластера Hadoop

Next Story

Описание и особенности DataLens

Latest from Blog

Zabbix – Docker – Raspberry Pi

Для начала установим Portainer – веб-интерфейс для управления docker-контейнерами. Бесплатно, удобно, подойдет новичкам в docker. Установка

Сетевая папка/диск в Linux

x.x.x.x адрес шары /mnt/shara точка монтирования user пользователь с доступом к шаре 1234 пароль пользователя Для

Памятка SSH

В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые

0 £0.00