Оформление
Подключение данных Apache Impala - Помощь FineReport | Разработка отчетов | Отчетность | Учебные пособия
Подключения к данным Apache Impala
1. Обзор
1.1 Версия
| Версия FineBI | Функциональные изменения |
|---|---|
| 6.0 | - |
1.2 Сценарии применения
В этой статье описывается, как подключиться к источнику данных Apache Impala.
Примечание: В Impala существует несколько баз данных, соединение с данными может подключаться только к одной базе, одно соединение с данными для нескольких баз данных не поддерживается.
2. Подготовительная работа
2.1 Версии и драйверы
Скачайте драйвер и загрузите его в FineBI, о том, как загрузить драйвер, читайте в разделе 2.1:Управление драйверами.
| Поддерживаемые версии баз данных | Ссылка на пакет драйверов |
|---|---|
| Импала 2.2Импала 2.3Импала 2.8Импала 2.9Импала 2.10 | ImpalaJDBC41.zip |
| Импала 2.10 куду1.5 | ClouderaImpalaJDBC41_2.5.43.rar |
2.2 Сбор информации о подключении
Перед подключением к базе данных соберите следующую информацию:
- IP-адрес и номер порта сервера, на котором находится база данных;
- Имя базы данных;
- Для аутентификации по имени пользователя и паролю вам нужно собрать имя пользователя и пароль; для аутентификации Kerberos вам нужно собрать имя клиента и путь к ключу keytab;
3. конкретные шаги по подключению
1) Войдите в FineBI как администратор, нажмите "System Management > Соединения данных > Управление соединением данных" и нажмите "Новое соединение данных", какпоказано на рисунке ниже:
Примечание: Если пользователь, не являющийся администратором, хочет настроить подключение данных, администратор должен назначить ему разрешения узла подключения данных в системе управления, подробнее см. в разделе Разрешения подключения данных.

2) Выберите значок APACHE IMPALA, как показано ниже:

3) Переключите драйвер на "Custom", чтобы выбрать драйвер, загруженный в разделе 2.1, а затем введите информацию о подключении в разделе 2.2. Если пользователям необходимо использовать это подключение к данным в версии прямого подключения, им необходимо добавить суффиксный параметр ;UseNativeQuery=1после URL, как показано ниже:
Подробности о методе аутентификации Kerberos можно найти в разделе:Подключение данных kerberos Authentication.

Если для базы данных Impala существует аутентификация, вам нужно добавить параметр AuthMech после URL, причем разные значения параметра представляют разные аутентификации, как показано в следующей таблице:
Примечание: Если база данных не имеет имени пользователя и пароля, добавлять этот параметр не нужно.
| (стоить | скрытый смысл |
|---|---|
| 3 | имя пользователя и пароль |
| 2 | имя пользователя (аутентификация по имени пользователя) |
| 1 | kerberos (сертифицированный Kerberos) |
| 0 | неаккредитация |
Формат URL: jdbc:impala://ip:port/dbname;authmech=n (n может быть равно 0, 1, 2 или 3 для вышеуказанных методов аутентификации).
- Аутентификация по имени пользователя и паролю: если параметр AuthMech равен 3, формат URL будет следующим: jdbc:impala://ip:port/dbname;authmech=3
- Аутентификация по имени пользователя: если параметр AuthMech равен 2, формат URL будет следующим: jdbc:impala://ip:port/dbname;authmech=2
- Аутентификация Kerberos: при значении параметра AuthMech, равном 1, формат URL будет следующим: jdbc:impala://ip:port/dbname;authmech=1
Если методом аутентификации базы данных является аутентификация Kerberos, то помимо параметра AuthMech необходимо заполнить имя клиента, зарегистрированного в kdc, путь к ключу keytab и соответствующий URL для аутентификации Kerberos (плюс AuthMech, KrbHostFQDN, KrbServiceName три параметра). nbsp;три параметра)
| параметрический | (стоить | скрытый смысл |
|---|---|---|
| AuthMech | 1 | Сертификация Kerberos |
| KrbHostFQDN | Сервер impala - это значение admin_server в файле krb5.conf. | Impala, указывающая, к какому серверу подключаться |
| KrbServiceName | Соответствующее название услуги | Псевдоним сервера, см. раздел Значение параметра |
Формат URL: jdbc:impala://ip:port/default;AuthMech=1;KrbHostFQDN=hostalias;KrbServiceName=impala
Например: jdbc:impala://192.168.5.127:21050/default;AuthMech=1;KrbHostFQDN=quickstart.cloudera;KrbServiceName=impala, подробнее см. раздел Подключения к данным Аутентификация Kerberos
4) Нажмите "Test Connection", если соединение успешно, то нажмите "Save", как показано ниже:

4. Добавьте таблицы базы данных в FineBI
Существует два способа добавления таблиц из базы данных в FineBI:

5. условия
5.1 Примечания к базе данных
- При подключении к базе данных Apache Impala FineBI игнорирует регистр при запросе данных, и результаты запросов по полям отображаются в нижнем регистре.
- impala не поддерживает тип date, она поддерживает timestamp.
- impala не поддерживает множественное количество отличий, и предварительный просмотр SQL с несколькими дедуплицированными записями приведет к ошибке.
5.2 Сбой соединения после обновления версии
Описание проблемы:
После обновления соединение не работает и сообщает об ошибке: Error initialised or created transport for authentication: java.io.IOException, как показано ниже:

Анализ причин:
После обновления файл .ini, встроенный в код Jass, будет потерян, что приведет к сбою соединения.
после обновления
Решение:
Измените метод аутентификации Kerberos на второй, подробнее смотрите: Метод аутентификации Kerberos 2