Перейти к содержанию

Коннектор источника для Hive

Это руководство описывает, как настроить digna для подключения к Apache Hive через ODBC со строкой подключения без DSN (DSN-less).

Сторона digna одинакова для всех технологий — где создаются подключения, как шифруются значения свойств, как проверяется подключение и что означают режимы профилирования. Она описана в разделе Обзор подключений к базам данных. Эта страница описывает то, что специфично для Hive.


1. Установка драйвера ODBC

Установите Cloudera ODBC Driver for Apache Hive на машину, где работает бэкенд digna, следуя официальному руководству по установке от производителя.

Узнайте точное зарегистрированное имя драйвера на вашем хосте, как описано в разделе Установка драйвера ODBC на хосте digna.


2. Свойства ODBC

Пример, а не спецификация

Набор ниже — одна комбинация, которая заведомо работает. Свойства принадлежат драйверу Cloudera Hive, поэтому их имена, значения по умолчанию и допустимые значения различаются между версиями драйвера и платформами, а то, что принимает HiveServer2, полностью зависит от того, как защищён кластер, — механизма аутентификации, режима транспорта, TLS, шлюза. Используйте этот набор как отправную точку и сверяйтесь с документацией установленной версии драйвера.

Добавьте следующие свойства на экране Add DB Connection:

Ключ Пример значения Примечания
DRIVER Cloudera ODBC Driver for Apache Hive Должно совпадать с именем драйвера, зарегистрированным на хосте digna
HOST hive.example.com Имя хоста или IP-адрес HiveServer2
PORT 10000 Порт HiveServer2; 10001 для транспорта HTTP

Итоговая строка подключения выглядит так:

DRIVER=Cloudera ODBC Driver for Apache Hive;HOST=hive.example.com;PORT=10000

Аутентификация

Незащищённый HiveServer2 принимает три указанных выше свойства как есть. Если аутентификация включена, добавьте:

Ключ Пример значения Примечания
AuthMech 3 0 без аутентификации, 2 только имя пользователя, 3 имя пользователя и пароль, 1 Kerberos
UID digna_source_user Обязательно для AuthMech 2 и 3
PWD <password> Обязательно для AuthMech 3. Отметьте Encrypted

Для Kerberos (AuthMech=1) хосту digna дополнительно нужен действительный билет или keytab, а также свойства KrbHostFQDN, KrbServiceName и KrbRealm, описанные в документации драйвера.

Транспорт и TLS

Ключ Пример значения Примечания
ThriftTransport 2 0 бинарный (по умолчанию, порт 10000), 1 SASL, 2 HTTP (порт 10001; именно его ожидает шлюз Knox)
HTTPPath cliservice При ThriftTransport=2
SSL 1 Если HiveServer2 защищён TLS
Schema dignadata База данных Hive, в которой начинается сессия. Необязательно — digna указывает полные имена в своих запросах

3. Настройка digna

На экране Add DB Connection укажите следующее:

Name:               Name of the connection. This is used for referencing the connection in other screens.
Technology:         Hive
Profiling Mode:     Standard, Permanent or Session
Work Schema:        Hive database for the work tables of "Permanent" profiling, e.g. "digna_work"

4. Особенности Hive

  • Каталоги предоставляет драйвер. У Hive нет собственного каталога, поэтому digna берёт то, что сообщает драйвер, — обычно одну запись с именем HIVE — и показывает базы данных Hive как схемы внутри неё.
  • Work Schema — это база данных Hive. Для профилирования Permanent пользователю нужно право создавать и удалять в ней таблицы, а базовое место хранения должно быть доступно для записи.
  • Режимы профилирования. Permanent создаёт рабочие таблицы в Work Schema. Session использует CREATE TEMPORARY TABLE, для чего нужен HiveServer2 с поддержкой временных таблиц, и не затрагивает Work Schema. Для Standard нужен только доступ на чтение; этот режим следует выбирать на кластере, где у digna вообще нет прав на запись.
  • Профилирование — это набор запросов, а не сканирование. Каждая статистика вычисляется HiveServer2, поэтому у очереди, в которую отправляет задания пользователь digna, должно быть достаточно ресурсов на время окна инспекции.

5. Проверка драйвера (необязательно)

Для подключения без DSN настраивать источник данных ODBC не требуется, но собственный диалог драйвера — удобный способ убедиться, что драйвер, режим транспорта и ваши учётные данные работают, прежде чем вводить их в digna.

Шаг 1

Шаг 1

Поля Host, Port, Database, Mechanism и Thrift Transport здесь соответствуют свойствам HOST, PORT, Schema, AuthMech и ThriftTransport из раздела 2.

Шаг 2 – проверка подключения

Введите пароль и нажмите кнопку Test.

Шаг 2

После успешной проверки нажмите кнопку OK.