Перейти к основному содержимому Перейти к дополнительному содержимому

Databricks

Можно использовать Databricks как целевая платформа данных в конвейере данных или в задаче репликации. В конвейере данных можно выполнять различные операции ELT на целевой платформе, включая хранение, преобразование, регистрацию данных и создание киосков данных. С другой стороны, задача репликации подразумевает репликацию данных непосредственно из исходной системы в целевую с сохранением базовых функций преобразования, но без поддержки операций ELT.

Настройка Databricks в качестве цели подразумевает следующее:

Примечание к информацииПоддерживается только для кластеров SQL Warehouse

Настройка облачной промежуточной области

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

Примечание к информацииЕсли выполняется регистрация существующих данных, нет необходимости настраивать облачную промежуточную область.

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

После настройки параметров промежуточной области выполните следующие действия.

  1. В виде Подключения нажмите Создать подключение.

  2. Выберите коннектор цели Databricks, а затем задайте следующие настройки.

Цель данных

Примечание к информацииЭто поле недоступно при использовании подписки Qlik Talend Cloud Starter, так как Data Movement Gateway не поддерживается для этого уровня подписки.

Data Movement Gateway требуется, только если целевая база данных недоступна из Qlik Cloud и доступна только по ссылке PrivateLink (например, если она расположена или в виртуальном частном облаке). В таком случае выберите Data Movement Gateway, через который требуется обращаться к целевой базе данных.

В зависимости от конкретной ситуации это будет либо тот же Data Movement Gateway, развернутый для перемещения данных, либо другой шлюз.

Для получения информации о сценариях применения Data Movement Gateway см. разделы Когда требуется Data Movement Gateway? и Общие случаи использования.

Если целевая база данных напрямую доступна из Qlik Cloud, выберите Нет.

Примечание к информацииПри обращении к целевой базе данных через Data Movement Gateway, также необходимо установить соответствующий драйвер на компьютер с Data Movement Gateway. Для получения подробных сведений см. Настройка драйвера ниже.

Свойства подключения

  • Host (Хост): имя сервера рабочего пространства Databricks.
  • Port (Порт): порт для доступа к рабочему пространству.
  • HTTP Path (Путь HTTP): путь к используемому кластеру.
  • Token (Токен): персональный токен для доступа к рабочему пространству.

Свойства каталога

Щелкните Load catalogs (Загрузить каталоги), чтобы загрузить доступные каталоги, затем выберите нужный каталог. Если в среде нет настроенных каталогов, выберите каталог hive_metastore, используемый по умолчанию.

Примечание к информации

Необходимо разрешить Data Movement Gateway доступ к внешним (неуправляемым) таблицам, указав внешнее местоположение в Databricks. Инструкции см. в документе:

https://docs.databricks.com/data-governance/unity-catalog/manage-external-locations-and-credentials.html#manage-permissions-for-an-external-location

Внутренние свойства

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

Используйте кнопки Создать и Отмена справа от полей, чтобы при необходимости добавить или удалить свойства.

Имя

Отображаемое имя подключения.

Предварительные требования

Общие разрешения

  • Время на сервере Qlik Talend Data Integration должно быть точным.
  • Разрешения для таблиц Databricks: для Qlik Talend Data Integration требуются разрешения, чтобы выполнять следующие операции с таблицами Databricks: CREATE, DROP, TRUNCATE, DESCRIBE и ALTER.
  • В параметрах контроля доступа (IAM) к файловой системе ADLS Gen2 назначьте Qlik Talend Data Integration (ИД приложения AD) роль «Storage Blob Data Contributor». Назначение роли может занять несколько минут.
  • Чтобы ПО Qlik Talend Data Integration могло подключаться к кластеру Databricks через ODBC, пользователи должны получить разрешение «Может подключаться к» в своей учетной записи Databricks.
  • Для доступа к Databricks требуется допустимый токен безопасности. Токен следует указать при настройке полей Databricks ODBC Access в параметрах конечной точки.
  • При настройке нового кластера с помощью Microsoft Azure Data Lake Storage (ADLS) Gen2 в разделе Spark Config необходимо добавить следующую строку.

    spark.hadoop.hive.server2.enable.doAs false

  • Чтобы иметь доступ к папкам хранилища из кластера Databricks, пользователям необходимо добавить конфигурацию (в разделе Spark Config) для учетной записи этого хранилища и ее ключ.

    Пример:  

    fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>

    Для получения дополнительной информации см. интерактивную справку по работе с Databricks по адресу: https://docs.databricks.com/clusters/configure.html#spark-configuration

  • Рекомендуется не использовать корневой путь (/Usr/Hive/Warehouse/) для базы данных Databricks, так как это может повлиять на производительность.

Разрешение на доступ к хранилищу

Вычислительный механизм Databricks SQL должен быть настроен для доступа к облачному хранилищу. Инструкции по настройке см. справочный раздел на веб-сайте производителя.

Настройка драйвера

Драйвер требуется только в случае обращения к базе данных через Data Movement Gateway. В таком случае необходимо установить драйвер на компьютер Data Movement Gateway.

driver можно установить с помощью программы для установки драйверов (рекомендуется) или вручную. Ручную установку следует выполнять только в том маловероятном случае, если возникла проблема с программой для установки драйверов.

Использование программы для установки драйверов для установки драйвера

В этом разделе описывается процедура установки необходимого driverа. Она включает выполнение скрипта, который автоматически загружает, устанавливает и настраивает необходимый driver. Также можно выполнять скрипты для обновления и удаления driverа по необходимости.

  • Убедитесь, что на сервере шлюза Перемещение данных установлена версия Python 3.6 или более поздняя.

    Python предустанавливается в большинстве дистрибутивов Linux. Чтобы проверить, какая версия Python установлена в системе, выполните следующую команду:

    python3 --version

Чтобы загрузить и установить driver, выполните следующие действия.

  1. Остановите службу Data Movement Gateway:

    sudo systemctl stop repagent

  2. Если нужно, подтвердите, что служба остановлена:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: inactive (dead) since <timestamp> ago

  3. На компьютере шлюза Перемещение данных измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

  4. Выполните следующую команду:

    Синтаксис:

    ./install databricks

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду install databricks еще раз.

    В противном случае откроется лицензионное соглашение с конечным пользователем driverа.

  5. Выполните одно из следующих действий:

    • Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
    • Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
    • Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
  6. Затем выполните одно из следующих действий:

    • Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
    • Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
    • Введите «v» и нажмите клавишу [Enter], чтобы снова открыть лицензионное соглашение для просмотра.

  7. Будет установлен driver.

  8. Дождитесь завершения установки (появится сообщение «Завершено!»), а затем запустите службу Data Movement Gateway:

    sudo systemctl start repagent

  9. Если нужно, подтвердите, что сервис запущен:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: active (running) since <timestamp> ago

Выполните команду обновления, если требуется удалить предыдущие версии driverа перед установкой предоставленной версии driverа.

Чтобы загрузить и обновить driver, выполните следующие действия.

  1. Остановите службу Data Movement Gateway:

    sudo systemctl stop repagent

  2. Если нужно, подтвердите, что служба остановлена:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: inactive (dead) since <timestamp> ago

  3. На компьютере шлюза Перемещение данных измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

  4. Выполните следующую команду:

    Синтаксис:

    ./update databricks

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду update databricks еще раз.

    В противном случае откроется лицензионное соглашение с конечным пользователем driverа.

  5. Выполните одно из следующих действий:

    • Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
    • Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
    • Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
  6. Затем выполните одно из следующих действий:

    • Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
    • Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
    • Введите «v» и нажмите клавишу [Enter], чтобы снова просмотреть лицензионное соглашение от начала.
  7. Будет удален старый driver и установлен новый driver.

  8. Дождитесь завершения установки (появится сообщение «Завершено!»), а затем запустите службу Data Movement Gateway:

    sudo systemctl start repagent

  9. Если нужно, подтвердите, что сервис запущен:

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: active (running) since <timestamp> ago

Выполните команду удаления, если требуется удалить driver.

Чтобы удалить driver, выполните следующие действия.

  1. Остановите все задачи, использующие данный коннектор.

  2. На компьютере шлюза Перемещение данных измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

  3. Выполните следующую команду:

    Синтаксис:

    ./uninstall databricks

    driver будет удален.

Установка драйвера вручную

Установку driver вручную следует пытаться выполнить только в том случае, если автоматическая установка драйвера не завершилась успешно.

После установки Data Movement Gateway загрузите файл SimbaSparkODBC-<версия>-LinuxRPM-64bit.zip. Прямую ссылку для загрузки поддерживаемой версии можно найти в разделе binary-artifacts в /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. После завершения загрузки скопируйте файл на компьютер Data Movement Gateway.

  1. Остановите службу Data Movement Gateway:

    sudo systemctl stop repagent

  2. Если нужно, подтвердите, что сервис остановлен:

    sudo systemctl status repagent

  3. Статус должен быть следующим:

    Active: inactive (dead) since <timestamp> ago

  4. Установите драйвер на машину Data Movement Gateway.

  5. После установки проверьте, что в файле /etc/odbcinst.ini есть следующий раздел:

  6.  [Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. Запустите службу Data Movement Gateway.

    sudo systemctl start repagent

  8. При необходимости подтвердите, что служба запущена.

    sudo systemctl status repagent

    Статус должен быть следующим:

    Active: active (running) since <timestamp> ago

  1. Загрузите файл databricks-jdbc-<версия>.jar. Прямую ссылку для загрузки поддерживаемой версии можно найти в разделе binary-artifacts в /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. После завершения загрузки скопируйте файл JAR в следующую папку на компьютере Data Movement Gateway:

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. Перезапустите службу Data Movement Gateway и проверьте, что она запустилась, выполнив команды, описанные в Команды службы Data Movement Gateway

Порт

Для исходящего трафика необходимо открыть порт брандмауэра 443.

Типы данных

В следующей таблице показаны типы данных Databricks, которые поддерживаются при использовании Qlik Cloud, и сопоставление типов данных из Qlik Cloud по умолчанию.

Информация о собственном типе данных сохраняется и отображается в столбце Собственный тип данных в видах набора данных. Если этот столбец не отображается, необходимо открыть инструмент «Управление столбцами» в виде набора данных и выбрать столбец Собственный тип данных.

Поддерживаемые типы данных
Типы данных Qlik Cloud Типы данных Databricks

BOOLEAN

BOOLEAN

BYTES

STRING

DATE

DATE

TIME

STRING

DATETIME

TIMESTAMP

INT1

TINYINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

DECIMAL (точность, масштаб)

REAL4

FLOAT;

REAL8

DOUBLE

UINT1

SMALLINT

UINT2

INT

UINT4

BIGINT

UINT8

DECIMAL (20,0)

STRING

VARCHAR (длина в байтах)

WSTRING

VARCHAR (длина в байтах)

BLOB

STRING

NCLOB

STRING

CLOB

STRING

Следующие типы данных преобразуются в тип STRING(255):

  • MAP

  • ARRAY;

  • STRUCT

Ограничения и замечания

  • Если использовании Databricks на AWS используется с таблицами без первичного ключа, в приложении хранилища не удается выполнить перезагрузку таблиц в промежуточном хранении. Чтобы устранить эту проблему, выполните следующее

    • Определите первичный ключ в таблицах.

    • В Databricks задайте в spark.databricks.delta.alterTable.rename.enabledOnAWS значение «True».

    • При создании преобразования на основе SQL все поля VARCHAR возвращаются как STRING(255).

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!