Published on

May 6, 2020

Изучение Apache Hive и Apache Pig в SQL Server

В этой статье мы рассмотрим концепции Apache Hive и Apache Pig и как их можно использовать в SQL Server. Эти технологии с открытым исходным кодом предоставляют мощные возможности для хранения данных и выполнения задач Hadoop MapReduce.

Apache Hive

Apache Hive – это программное обеспечение для хранения данных, разработанное Facebook и построенное на основе Hadoop. Оно позволяет выполнять запросы к данным с использованием языка, похожего на SQL, называемого HiveQL или Apache Spark SQL. С помощью Hive вы можете хранить данные в отдельном репозитории и создавать внешние таблицы на основе данных, хранящихся вне репозиториев Hive. Хотя оно лучше работает в операционных системах на базе Linux, его также можно установить на Windows с помощью инструмента Cygwin.

Apache Pig

Apache Pig – это фреймворк, разработанный Yahoo для написания и выполнения задач Hadoop MapReduce. Он упрощает процесс написания программ MapReduce, предоставляя высокоуровневый язык, называемый PigLatin. PigLatin позволяет выражать сложные преобразования данных без необходимости использования сложного кода на Java. Apache Pig также может быть расширен с помощью пользовательских функций для удовлетворения конкретных требований. Подобно Apache Hive, он оптимизирован для операционных систем на базе Linux, но также может быть установлен на Windows.

Сервисы WebHDFS и WebHCat

WebHDFS и WebHCat – это два REST API, используемых для взаимодействия с компонентами Hadoop. WebHDFS используется для команд HDFS, а WebHCat используется для задач Apache Hive и Pig. Эти API позволяют выполнять команды, связанные с Hadoop, независимо от операционной системы и доступности Hadoop через команды оболочки. WebHDFS устанавливается вместе с Hadoop, а WebHCat устанавливается с Apache Hive.

Подключение к WebHCat с использованием менеджера подключений Hadoop

Подключение к WebHCat аналогично подключению к WebHDFS. Вы можете настроить подключение WebHCat с помощью менеджера подключений Hadoop в SQL Server Integration Services (SSIS). Чтобы убедиться, что подключение настроено правильно, вы можете использовать кнопку “Проверить подключение”.

Задача Hadoop Hive

Задача Hadoop Hive – это компонент в SSIS, который позволяет выполнять операторы HiveQL. Он использует подключение Hadoop WebHCat для отправки операторов на сервер Apache Hive. Редактор задачи Hadoop Hive предоставляет параметры для настройки задачи, такие как имя задачи, описание, подключение Hadoop и тип источника (DirectInput, ScriptFile или InlineScript). Вы также можете указать время ожидания для команды.

Пример

Давайте рассмотрим пример, в котором мы создаем таблицу Hive с использованием следующего оператора HiveQL:

CREATE TABLE IF NOT EXISTS employee (
  eid int,
  name String,
  salary String,
  destination String
) STORED AS TEXTFILE;

После выполнения пакета мы можем использовать оболочку Hive для отображения доступных таблиц в базе данных по умолчанию с помощью команды “SHOW TABLES;”. Это отобразит созданную таблицу.

Синхронные и асинхронные команды

Задача Hadoop Hive поддерживает как синхронные, так и асинхронные команды. Синхронные команды предоставляют информацию о выполнении в режиме реального времени, а асинхронные команды планируют задачу в кластере Hadoop и немедленно возвращаются. Вы можете настроить время ожидания для команды, чтобы контролировать поведение выполнения.

Задача Hadoop Pig

Задача Hadoop Pig – это еще один компонент в SSIS, аналогичный задаче Hadoop Hive. Он использует подключение WebHCat и выполняет скрипты PigLatin вместо HiveQL. Редактор задачи Hadoop Pig предоставляет тот же набор свойств, что и задача Hadoop Hive.

Альтернатива: драйвер Microsoft Hive ODBC

Помимо использования компонентов Hadoop SSIS, вы можете подключиться к серверу Apache Hive в SSIS с помощью драйвера Microsoft Hive ODBC. Этот драйвер позволяет создать ODBC-подключение к Apache Hive и подключиться напрямую к работающему серверу Hive. Он может использоваться с более ранними версиями SQL Server и поддерживает как облачные, так и локальные кластеры Hadoop. Драйвер Microsoft Hive ODBC можно загрузить с официального веб-сайта Microsoft.

Настройка ODBC-подключения

После установки драйвера Microsoft Hive ODBC вы можете настроить имя источника данных (DSN) ODBC, перейдя в Панель управления > Система и безопасность > Административные инструменты > Источники данных ODBC. Затем вы можете добавить пользовательский или системный DSN и выбрать драйвер Microsoft Hive ODBC из списка доступных драйверов. Настройте DSN с адресом хоста сервера Hive, номером порта и именем базы данных. Проверьте подключение перед созданием DSN ODBC.

Использование менеджера подключений ODBC в SSIS

Для использования подключения ODBC в SSIS вам необходимо создать новый менеджер подключений ODBC и выбрать созданный вами DSN ODBC. Это позволяет использовать Apache Hive в качестве источника или назначения в задаче потока данных. Менеджер подключений ODBC также может использоваться с другими компонентами SSIS, такими как задача выполнения SQL.

Выводы

В этой статье мы исследовали концепции Apache Hive и Apache Pig и их интеграцию с SQL Server. Мы обсудили сервисы WebHDFS и WebHCat, а также задачи Hadoop Hive и Pig в SSIS. Кроме того, мы представили драйвер Microsoft Hive ODBC в качестве альтернативного метода подключения к серверу Apache Hive в SSIS. Эти технологии предоставляют мощные возможности для работы

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.