Azure Synapse Analytics
Azure Synapse Analytics можно использовать как как целевую платформу данных в конвейере данных. В конвейере данных можно выполнять различные операции ELT на целевой платформе, включая хранение, преобразование, регистрацию данных и создание киосков данных.
Настройка Azure Synapse Analytics в качестве цели подразумевает следующее:
- Выполнение предварительных условий
- Настройка подключения к облачной промежуточной области (Azure Data Lake Storage). Это необязательно, если выполняется регистрация существующих данных.
- Настройка подключения к Azure Synapse Analytics
Настройка облачной промежуточной области
Также требуется облачная промежуточная область Azure Data Lake Storage, где планируется хранить данные перед тем, как они будут применены и перемещены в хранилище. Для получения информации о настройке подключения к Azure Data Lake Storage см. раздел Azure Data Lake Storage.
Настройка свойств подключения Azure Synapse Analytics
После настройки параметров цели Azure Data Lake Storage выполните следующие действия.
-
В виде Подключения нажмите Создать подключение.
-
Выберите коннектор цели Azure Synapse Analytics, а затем задайте следующие настройки.
Цель данных
Шлюз данных
Data Movement Gateway требуется, только если целевая база данных недоступна из Qlik Cloud и доступна только по ссылке PrivateLink (например, если она расположена или в виртуальном частном облаке). В таком случае выберите Data Movement Gateway, через который требуется обращаться к целевой базе данных.
В зависимости от конкретной ситуации это будет либо тот же Data Movement Gateway, развернутый для перемещения данных, либо другой шлюз.
Для получения информации о сценариях применения Data Movement Gateway см. разделы Когда требуется Data Movement Gateway? и Общие случаи использования.
Если целевая база данных напрямую доступна из Qlik Cloud, выберите Нет.
Свойства подключения
-
Сервер: имя сервера для идентификации местоположения базы данных Azure Synapse Analytics.
-
Порт: порт, через который будет осуществляться доступ к базе данных Azure Synapse Analytics. Значение по умолчанию — 1433.
Свойства учетной записи (Account properties)
Имя пользователя и Пароль: имя и пароль пользователя для авторизованного доступа к базе данных Azure Synapse Analytics.
Свойства базы данных
-
Имя базы данных: задать базу данных можно двумя способами:
- Способ 1: выбор из списка. Для использования этого метода необходимо создать пользователя в основной базе данных. Щелкните Загрузить базы данных, а затем выберите базу данных.
- Способ 2: вручную. Выберите Ввести имя базы данных вручную, а затем введите имя базы данных.
Свойства загрузки данных
Учетные данные SQL Server могут быть созданы автоматически во время выполнения (по умолчанию), либо можно использовать существующую учетную запись. Выполните нужное из следующих действий:
- Когда установлен флажок Create SQL Server credential (Создать учетные данные SQL Server) (по умолчанию), во время выполнения автоматически создается учетная запись SQL. Укажите ключ доступа в поле Ключ доступа.
- Чтобы использовать существующую учетную запись, снимите флажок Create SQL Server credential (Создать учетные данные SQL Server) и укажите имя своей учетной записи SQL Server в поле Credential name (Имя учетной записи).
Имя
Отображаемое имя подключения.
Предварительные требования
Разрешения
Необходимо предоставить разрешения как для хранилища, таки и для базы данных, как описано ниже.
Разрешения для хранилища
Пользователь, указанный в коннекторе Azure Synapse Analytics должен иметь следующие разрешения для хранилища.
- Для контейнера в хранилище ADLS Gen2: LIST
- Для папки в хранилище ADLS Gen2: READ, WRITE и DELETE
- В настройках доступа (IAM) к файловой системе ADLS Gen2 необходимо присвоить Data Movement Gateway (AD App ID) роль «Storage Blob Data Contributor». Обработка роли может занять несколько минут.
Разрешения для базы данных
Пользователь, указанный в коннекторе Azure Synapse Analytics, должен иметь следующие разрешения в базе данных:
-
Общие разрешения:
- db_owner role
-
Разрешения для таблиц:
- SELECT, INSERT, UPDATE и DELETE
- Массовая загрузка
- CREATE, ALTER, DROP (если требуется в соответствии с определением задачи)
Выбор базы данных
Чтобы обеспечить возможность выбора базы данных (щелчком параметра Загрузить базы данных в диалоговом окне коннектора), пользователь, указанный в параметрах коннектора, должен быть создан в основной базе данных.
Настройка драйвера
Драйвер требуется только в случае обращения к базе данных через Data Movement Gateway. В таком случае необходимо установить драйвер на компьютер Data Movement Gateway.
driver можно установить с помощью программы для установки драйверов (рекомендуется) или вручную. Ручную установку следует выполнять только в том маловероятном случае, если возникла проблема с программой для установки драйверов.
Использование программы для установки драйверов для установки драйвера
В этом разделе описывается процедура установки необходимого driverа. Она включает выполнение скрипта, который автоматически загружает, устанавливает и настраивает необходимый driver. Также можно выполнять скрипты для обновления и удаления driverа по необходимости.
Подготовка к установке
-
Убедитесь, что на сервере шлюза Перемещение данных установлена версия Python 3.6 или более поздняя.
Python предустанавливается в большинстве дистрибутивов Linux. Чтобы проверить, какая версия Python установлена в системе, выполните следующую команду:
python3 --version
Установка driver
Чтобы загрузить и установить driver, выполните следующие действия.
-
Остановите службу Data Movement Gateway:
sudo systemctl stop repagent
-
Если нужно, подтвердите, что служба остановлена:
sudo systemctl status repagent
Статус должен быть следующим:
Active: inactive (dead) since <timestamp> ago
-
На компьютере шлюза Перемещение данных измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./install sqlserver
Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду install sqlserver еще раз.
В противном случае откроется лицензионное соглашение с конечным пользователем driverа.
-
Выполните одно из следующих действий:
- Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
- Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
- Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
-
Затем выполните одно из следующих действий:
- Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
- Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
-
Введите «v» и нажмите клавишу [Enter], чтобы снова открыть лицензионное соглашение для просмотра.
-
Дождитесь завершения установки (появится сообщение «Завершено!»), а затем запустите службу Data Movement Gateway:
sudo systemctl start repagent
-
Если нужно, подтвердите, что сервис запущен:
sudo systemctl status repagent
Статус должен быть следующим:
Active: active (running) since <timestamp> ago
Будет установлен driver.
Обновление driverа
Выполните команду обновления, если требуется удалить предыдущие версии driverа перед установкой предоставленной версии driverа.
Чтобы загрузить и обновить driver, выполните следующие действия.
-
Остановите службу Data Movement Gateway:
sudo systemctl stop repagent
-
Если нужно, подтвердите, что служба остановлена:
sudo systemctl status repagent
Статус должен быть следующим:
Active: inactive (dead) since <timestamp> ago
-
На компьютере шлюза Перемещение данных измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./update sqlserver
Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду update sqlserver еще раз.
В противном случае откроется лицензионное соглашение с конечным пользователем driverа.
-
Выполните одно из следующих действий:
- Нажмите клавишу [Enter] несколько раз, чтобы медленно прокрутить лицензионное соглашение.
- Нажимайте клавишу «Пробел» несколько раз, чтобы быстро прокрутить лицензионное соглашение.
- Нажмите клавишу «q», чтобы закрыть текст лицензионного соглашения и перейти к шагу принятия/отклонения.
-
Затем выполните одно из следующих действий:
- Введите «y» и нажмите клавишу [Enter], чтобы принять лицензионное соглашение и запустить установку.
- Введите «n» и нажмите клавишу [Enter], чтобы отклонить лицензионное соглашение и отменить установку.
- Введите «v» и нажмите клавишу [Enter], чтобы снова просмотреть лицензионное соглашение от начала.
-
Дождитесь завершения установки (появится сообщение «Завершено!»), а затем запустите службу Data Movement Gateway:
sudo systemctl start repagent
-
Если нужно, подтвердите, что сервис запущен:
sudo systemctl status repagent
Статус должен быть следующим:
Active: active (running) since <timestamp> ago
Будет удален старый driver и установлен новый driver.
Удаление driverа
Выполните команду удаления, если требуется удалить driver.
Чтобы удалить driver, выполните следующие действия.
-
Остановите все задачи, использующие данный коннектор.
-
На компьютере шлюза Перемещение данных измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./uninstall sqlserver
driver будет удален.
Установка драйвера вручную
Установку driver вручную следует пытаться выполнить только в том случае, если автоматическая установка драйвера не завершилась успешно.
Необходимо установить и драйвер ODBC, и драйвер JDBC.
Установка драйвера ODBC
После установки Data Movement Gateway загрузите драйвер msodbcsql<версия>.x86_64.rpm. Прямую ссылку для загрузки поддерживаемой версии можно найти в разделе binary-artifacts в /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. После завершения загрузки скопируйте RPM на компьютер Data Movement Gateway.
На сервере Data Movement gateway откройте приглашение оболочки и выполните действия, указанные ниже.
-
Остановите службу Data Movement gateway:
sudo systemctl stop repagent
-
Если нужно, подтвердите, что служба остановлена:
sudo systemctl status repagent
-
Установите драйвер (RPM).
-
Замените рабочую папку на <product_dir>/bin.
-
Скопируйте местоположение драйвера в файл
site_arep_login.sh
следующим образом:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
После этого драйвер будет добавлен в "LD_LIBRARY_PATH", а в файле site_arep_login.sh обновится расположение драйвера.
-
При необходимости подтвердите, что расположение драйвера скопировано.
cat site_arep_login.sh
-
Запустите службу Data Movement gateway.
sudo systemctl start repagent
-
При необходимости подтвердите, что служба запущена.
sudo systemctl status repagent
Статус должен быть следующим:
Active: active (running) since <timestamp> ago
-
Для Data Movement gateway требуется следующая библиотека ODBC: msodbcsql-18.1.so.1.1
Чтобы проверить, какая версия библиотеки установлена в данный момент, выполните следующую команду:
ls /opt/microsoft/msodbcsql<version>/lib64/
Если у имеющейся библиотеки другой номер версии (например, libmsodbcsql-18.0.so.1.1), необходимо создать символическую ссылку между имеющейся и нужной библиотеками.
Для этого выполните следующие команды:
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1где
existing_library_name
— это имя установленной в данный момент библиотеки (например, libmsodbcsql-18.0.so.1.1).
Статус должен быть следующим:
Active: inactive (dead) since <timestamp> ago
Установка драйвера JDBC
-
Загрузите файл mssql-jdbc-<версия>.jar. Прямую ссылку для загрузки поддерживаемой версии можно найти в разделе binary-artifacts в /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. После завершения загрузки скопируйте файл JAR в следующую папку на компьютере Data Movement Gateway:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Перезапустите службу Data Movement Gateway, выполнив команду, описанную в Перезапуск службы
Порты
- Если Data Movement Gateway работает на сервере за пределами Azure, откройте порт 1433 для исходящего трафика.
- Если Data Movement Gateway работает на виртуальной машине Azure, откройте следующие порты для исходящего трафика:
- 1433
- 11000-11999
- 14000-14999
Ограничения и замечания
При использовании Azure Synapse Analytics в качестве цели необходимо учитывать следующие ограничения и замечания:
-
Исходные столбцы с типами данных CHAR/VARCHAR и нелатинской сортировкой (например, Chinese_PRC_CI_AS) необходимо сопоставить с NVARCHAR.
-
Обработка пустого исходного столбца:
-
Когда исходный двоичный столбец (например, VARBINARY или BLOB) с пустым значением помещается на промежуточное хранение (перемещение), Qlik Talend Data Integration вставляет NULL в соответствующий целевой столбец.
Примечание к информацииПустые значения являются не значениями NULL, а данными с нулевой длиной. -
- Промежуточное хранение (Перемещение) записей, размер которых превышает 1 МБ, не поддерживается.
- Для промежуточного хранения (Перемещение) данных с 4-байтовыми символами «эмодзи» необходимо выбрать для целевого столбца тип данных «широкая строка» (например, NCHAR/NVARCHAR/NCLOB).
Типы данных
В следующей таблице показаны типы данных Azure Synapse Analytics, которые поддерживаются при использовании Qlik Cloud, и сопоставление типов данных из Qlik Cloud по умолчанию.
Информация о собственном типе данных сохраняется и отображается в столбце Собственный тип данных в видах набора данных. Если этот столбец не отображается, необходимо открыть инструмент «Управление столбцами» в виде набора данных и выбрать столбец Собственный тип данных.
Типы данных Qlik Cloud | Типы данных Azure Synapse Analytics |
---|---|
BOOLEAN |
BIT |
BYTES |
VARBINARY (длина в байтах) |
DATE |
DATE |
TIME |
TIME |
DATETIME |
DATETIME |
INT1 |
BYTEINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
NUMERIC (точность, масштаб) |
REAL4 |
REAL |
REAL8 |
FLOAT; |
UINT1 |
BYTEINT |
UINT2 |
INTEGER |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
STRING |
VARCHAR (длина в байтах) |
WSTRING |
NVARCHAR (длина в байтах) |
BLOB |
VARBINARY (длина в байтах) |
NCLOB |
NVARCHAR (длина в байтах) |
CLOB |
VARCHAR (длина в байтах) |