Работа с источником данных Hive

Продукт «Форсайт. Аналитическая платформа» позволяет пользователям в качестве источника данных использовать инфраструктуру Hive. Hive является системой манипулирования данными с использованием SQL-подобного языка запросов (HiveQL) и работает на базе распределенной системы хранения и обработки данных Hadoop.

Для начала работы с источником данных Hive выполните шаги, указанные ниже.

Шаг 1. Установка приложения

Для создания подключения к источнику данных Hive необходимо использовать соответствующий ODBC-драйвер.

В качестве ODBC-драйвера рекомендуется использовать драйвер Hortonworks Hive ODBC Driver. Загрузите дистрибутив и установите драйвер, выполнив команду:

sudo dpkg -i ./clouderahiveodbc*.deb

Важно. Разрядность устанавливаемого приложения должна совпадать с разрядностью «Форсайт. Аналитическая платформа».

Шаг 2. Настройка драйвера ODBC

Откройте на редактирование файл /opt/cloudera/hiveodbc/lib/64/cloudera.hiveodbc.ini и найдите параметры:

Пример файла cloudera.hiveodbc.ini.

Шаг 3. Настройка подключения

Для получения подробной информации о настройке подключения обратитесь к инструкции.

При настройке подключения можно выделить два основных направления:

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

  1. Подготовьте файл /etc/odbcinst.ini. Пример содержимого файла:

[ODBC Drivers]

Cloudera ODBC Driver for Apache Hive 32-bit=Installed

Cloudera ODBC Driver for Apache Hive 64-bit=Installed

UsageCount=1

[Cloudera ODBC Driver for Apache Hive 32-bit]

Description=Cloudera ODBC Driver for Apache Hive (32-bit)

Driver=/opt/cloudera/hiveodbc/lib/32/libclouderahiveodbc32.so

UsageCount=1

[Cloudera ODBC Driver for Apache Hive 64-bit]

Description=Cloudera ODBC Driver for Apache Hive (64-bit)

Driver=/opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so

UsageCount=1

 

  1. Выполните проверку подключения с помощью команды:

isql -v -k "Driver={Cloudera ODBC Driver for Apache Hive 64-bit};Host=10.0.2.118;Port=10000;AuthMech=3;UID=root;PWD=hadoop"

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

  1. Измените файл /etc/odbc.ini согласно инструкции. Пример содержимого файла:

[ODBC Data Sources]

HiveDSN=Cloudera

[HiveDSN]

Driver=/opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so

HiveServerType=2

ServiceDiscoveryMode=0

Host=10.0.2.118

Port=10000

UID=root

PWD=root

 

  1. Выполните проверку подключения с помощью команды:

isql -v "HiveDSN"

Шаг 4. Настройка источника данных ODBC

Перед началом работы с Hive настройте источник данных:

  1. На клиентском компьютере откройте «Панель управления», затем перейдите в раздел «Администрирование > Источник данных ODBC».

  2. В открывшемся окне «Администрирование источников данных ODBC» перейдите на вкладку «Пользовательский DNS». Выполните команду «Добавить».

  3. В открывшемся окне «Создание нового источника данных» выберите «Hortonworks Hive ODBC Driver»:

  1. Откроется окно «Hortonworks Hive ODBC Driver DNS Setup»:

Задайте следующие настройки:

Шаг 5. Настройка базы данных в «Форсайт. Аналитическая платформа»

Для настройки базы данных в «Форсайт. Аналитическая платформа»:

  1. Создайте базу данных в репозитории.

  2. В свойствах базы данных укажите тип клиента СУБД «OLE DB(ODBC HIVE)».

  3. В качестве названия сервера укажите имя созданного источника данных «Data Source Name».

  4. Выберите автоматическое подключение.

  5. Заполните поля «Имя пользователя»/«Пароль»: укажите имя и пароль пользователя, созданного в вашей конфигурации Hadoop/Hive.

Мастер базы данных после задания необходимых параметров имеет вид:

После выполнения указанных настроек созданное соединение можно использовать для подключения в репозиторий платформы таблиц Hive и создания запросов на языке HiveQL.

Шаг 6. Настройка работы платформы с источником данных Hive через драйвер JDBC

Для корректного подключения к источнику данных Hive выполните настройку драйвера JDBC:

  1. Убедитесь, что выполнена настройка BI-сервера и интеграция с языком программирования Python.

  2. Установите pip3 с параметрами по умолчанию, выполнив команду:

sudo apt install python3-pip

  1. Загрузите библиотеку jaydebeapi:

pip3 install jaydebeapi

  1. Выполните интеграцию с языком программирования Java.

  2. Создайте каталог opt/jdbc:

sudo mkdir /opt/jdbc

  1. Загрузите в папку /opt/jdbc файл с JDBC-драйвером HiveJDBC.jar.

  2. Сделайте пользователя www-data владельцем каталога opt/jdbc:

sudo chown -R www-data:www-data /opt/jdbc

  1. Откройте файл обновления в менеджере обновления.
    Пример файла обновления: Update_pefx.zip.

В файл обновления входят объекты:

  1. Запустите на выполнение модуль «Установка Callback для куба», входящий в файл обновления. В модуле задайте параметры:

Наименование Описание константы
CUBE_ID Идентификатор куба для заполнения данными.
MOD_ID Идентификатор модуля, выполняемого при работе с кубом.
  1. Задайте в модуле config.ini, входящего в файл обновления, параметры:

Наименование Описание константы
TABLE_DATA_ID Идентификатор таблицы, из которой необходимо получить данные.
PY_MOD_ID Идентификатор модуля Python.
LINUX_PATH Путь до JDBC-драйвера.
Параметры JDBC-соединения (Hive):
JDBC_CLASS Класс драйвера.
JAR_NAME Имя файла с JDBC-драйвером в ОС.
JDBC_URL URL сервиса.
DB_USER Имя пользователя.
DB_PSWD Пароль пользователя.

В результате выполнения последовательности действий при каждом открытии данные будут подтягиваться в куб из источника данных Hive.

См. также:

Подключение к реляционным базам данных