Skip to content

Подключение данных 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.10ImpalaJDBC41.zip
Импала 2.10 куду1.5ClouderaImpalaJDBC41_2.5.43.rar

2.2 Сбор информации о подключении

Перед подключением к базе данных соберите следующую информацию:

  • IP-адрес и номер порта сервера, на котором находится база данных;
  • Имя базы данных;
  • Для аутентификации по имени пользователя и паролю вам нужно собрать имя пользователя и пароль; для аутентификации Kerberos вам нужно собрать имя клиента и путь к ключу keytab;

3. конкретные шаги по подключению

1) Войдите в FineBI как администратор, нажмите "System Management > Соединения данных > Управление соединением данных" и нажмите "Новое соединение данных", какпоказано на рисунке ниже:

Примечание: Если пользователь, не являющийся администратором, хочет настроить подключение данных, администратор должен назначить ему разрешения узла подключения данных в системе управления, подробнее см. в разделе Разрешения подключения данных.

1.png

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

71.png

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

Подробности о методе аутентификации Kerberos можно найти в разделе:Подключение данных kerberos Authentication.

28.png

Если для базы данных Impala существует аутентификация, вам нужно добавить параметр AuthMech после URL, причем разные значения параметра представляют разные аутентификации, как показано в следующей таблице:

Примечание: Если база данных не имеет имени пользователя и пароля, добавлять этот параметр не нужно.

(стоитьскрытый смысл
3имя пользователя и пароль
2имя пользователя (аутентификация по имени пользователя)
1kerberos (сертифицированный 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;три параметра)

параметрический(стоитьскрытый смысл
AuthMech1Сертификация 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", как показано ниже:

73.png

4. Добавьте таблицы базы данных в FineBI

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

2.png

5. условия

5.1 Примечания к базе данных

  • При подключении к базе данных Apache Impala FineBI игнорирует регистр при запросе данных, и результаты запросов по полям отображаются в нижнем регистре.
  • impala не поддерживает тип date, она поддерживает timestamp.
  • impala не поддерживает множественное количество отличий, и предварительный просмотр SQL с несколькими дедуплицированными записями приведет к ошибке.

5.2 Сбой соединения после обновления версии

Описание проблемы:

После обновления соединение не работает и сообщает об ошибке: Error initialised or created transport for authentication: java.io.IOException, как показано ниже:

29.png

Анализ причин:

После обновления файл .ini, встроенный в код Jass, будет потерян, что приведет к сбою соединения.

после обновления

Решение:

Измените метод аутентификации Kerberos на второй, подробнее смотрите: Метод аутентификации Kerberos 2