Databricks | Qlik Cloud Справка
Перейти к основному содержимому Перейти к дополнительному содержимому

Databricks

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

Настройка Databricks в качестве целевой платформы включает в себя:

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

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

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

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

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

После того как вы указали настройки промежуточного хранения, выполните следующие действия:

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

  2. Выберите целевой коннектор Databricks и укажите следующие настройки:

Целевая платформа данных

Шлюз данных

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

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

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

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

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

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

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

  • Хост: имя хоста рабочей области Databricks.
  • Порт: порт, через который осуществляется доступ к рабочей области.
  • Путь HTTP: путь к используемому кластеру.

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

  • Метод аутентификации — выберите один из следующих вариантов:

    • OAuth: Укажите следующую информацию: 

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

      Предварительные требования для аутентификации OAuth:

      • Убедитесь, что ваша база данных Databricks настроена на использование OAuth. Инструкции см. в онлайн-справке поставщика.
      • Если вы используете Шлюз движения данных для доступа к базе данных, требуется Шлюз движения данных версии 2024.11.30 или более поздней.
      • Идентификатор клиента: Идентификатор клиента вашего приложения.

      • Секрет клиента: Секрет клиента вашего приложения. Обратите внимание, что при редактировании подключения секрет клиента будет удален в целях безопасности, и вам потребуется ввести его повторно.

    • Личный токен доступа: В поле Токен введите свой личный токен для доступа к рабочей области.

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

Нажмите Загрузить каталоги, чтобы загрузить доступные каталоги, а затем выберите Каталог. Если в вашей среде не настроены каталоги, выберите hive_metastore, который является каталогом по умолчанию.

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

Вам необходимо разрешить задаче данных доступ к внешним (неуправляемым) таблицам, определив внешнее Местоположение в 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 должны быть настроены для доступа к облачному хранилищу. Инструкции см. в онлайн-справке поставщика.

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

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

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

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

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

  • Убедитесь, что на сервере шлюза Data Movement установлена версия 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. На компьютере шлюза Data Movement измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

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

    Синтаксис:

    ./install databricks

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Data Movement. После этого выполните команду 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. На компьютере шлюза Data Movement измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

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

    Синтаксис:

    ./update databricks

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Data Movement. После этого выполните команду 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. На компьютере шлюза Data Movement измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

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

    Синтаксис:

    ./uninstall databricks

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

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

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

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

  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. [Databricks ODBC Driver]
    Driver=/opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
  7. Запустите службу Data Movement Gateway:

    sudo systemctl start repagent

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

    sudo systemctl status repagent

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

    Active: active (running) since <timestamp> ago

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

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

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

Порт

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

Типы данных

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

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

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

BOOLEAN

BOOLEAN

BYTES

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

DATE

DATE

TIME

STRING

DATETIME

TIMESTAMP

Прецизионность всегда равна 6, даже если во входном столбце используется прецизионность ниже 6.

Если во входном столбце используется прецизионность выше 6, вы можете сохранить полную прецизионность, рассмотрев возможность преобразования столбца в другой поддерживаемый тип, например STRING.

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 (длина в байтах)

Если столбец имеет подтип JSON, а версия Databricks Runtime — 15.4 LTS или более поздняя, то: VARIANT

WSTRING

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

Если столбец имеет подтип JSON, а версия Databricks Runtime — 15.4 LTS или более поздняя, то: VARIANT

NCLOB

STRING

Если столбец имеет подтип JSON, а версия Databricks Runtime — 15.4 LTS или более поздняя, то: VARIANT

CLOB

STRING

Если столбец имеет подтип JSON, а версия Databricks Runtime — 15.4 LTS или более поздняя, то: VARIANT

BLOB

STRING

JSON

VARIANT

Примечание к информацииТип данных VARIANT поддерживается в Databricks в качестве общедоступной предварительной версии (Public Preview).

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

  • MAP

  • ARRAY

  • STRUCT

Ограничения и рекомендации

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

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

    • Установить для параметра spark.databricks.delta.alterTable.rename.enabledOnAWS значение True в Databricks.

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

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

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