Коннектор источника для 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 |
Итоговая строка подключения выглядит так:
Аутентификация¶
Незащищённый 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¶

Поля Host, Port, Database, Mechanism и Thrift Transport здесь соответствуют свойствам HOST, PORT, Schema, AuthMech и ThriftTransport из раздела 2.
Шаг 2 – проверка подключения¶
Введите пароль и нажмите кнопку Test.

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