Snowflake
Можно использовать Snowflake как целевая платформа данных в конвейере данных или в задаче репликации. В конвейере данных можно выполнять различные операции ELT на целевой платформе, включая хранение, преобразование, регистрацию данных и создание киосков данных. С другой стороны, задача репликации подразумевает репликацию данных непосредственно из исходной системы в целевую с сохранением базовых функций преобразования, но без поддержки операций ELT.
Настройка Snowflake в качестве цели подразумевает следующее:
- Настройка Необходимые разрешения в базе данных.
- Установка необходимого драйвера. Обратите внимание, что это необходимо, только если выполняется подключение к Snowflake через Data Movement Gateway.
- Настройка подключения к Snowflake
Настройка свойств подключения
Чтобы настроить коннектор, выполните следующие действия:
-
В виде Подключения нажмите Создать подключение.
-
Выберите коннектор цели Snowflake , а затем задайте следующие настройки.
Data Movement Gateway
Шлюз данных
Data Movement Gateway требуется, только если целевая база данных недоступна из Qlik Cloud и доступна только по ссылке PrivateLink (например, если она расположена или в виртуальном частном облаке). В таком случае выберите Data Movement Gateway, через который требуется обращаться к целевой базе данных.
В зависимости от конкретной ситуации это будет либо тот же Data Movement Gateway, развернутый для перемещения данных, либо другой шлюз.
Для получения информации о сценариях применения Data Movement Gateway см. разделы Когда требуется Data Movement Gateway? и Общие случаи использования.
Если целевая база данных напрямую доступна из Qlik Cloud, выберите Нет.
Свойства подключения
-
Сервер: URL-адрес для доступа к Snowflake. Например, myaccount.snowflakecomputing.com.
-
Порт: порт, через который будет осуществляться доступ к базе данных Snowflake. По умолчанию используется порт 443.
Проверка подлинности
Существуют различные способы проверки подлинности подключения:
-
Имя пользователя и пароль
-
Пара ключей
База данных Snowflake должна быть настроена на использование проверки подлинности с помощью пары ключей. Процесс описан в документации Snowflake:
Примечание к информацииЕсли используется Data Movement Gateway, для проверки подлинности с помощью пары ключей требуется версия 2024.5.14 или более поздняя.
Свойства учетной записи
Имя пользователя и пароль
Имя пользователя и Пароль: имя и пароль пользователя для авторизованного доступа к базе данных Snowflake.
Пара ключей
Свойство учетной записи | Описание |
---|---|
Пользователь | Пользователь в Snowflake. |
Файл закрытого ключа | Щелкните Обзор, чтобы выбрать файл закрытого ключа. |
Пароль файла закрытого ключа | Пароль для расшифровки закрытого ключа, если он зашифрован. |
Свойства базы данных
- Хранилище по умолчанию: имя хранилища Snowflake. можно переопределить в настройках проекта.
-
Имя базы данных: задать базу данных можно двумя способами:
-
Способ 1: выбор из списка. Щелкните Загрузить базы данных, а затем выберите базу данных.
- Способ 2: вручную. Выберите Ввести имя базы данных вручную, а затем введите имя базы данных.
-
Внутренние свойства
Внутренние свойства предназначены для особых вариантов использования и поэтому не отображаются в диалоговом окне. Их можно использовать только по указанию службы поддержки Qlik.
Используйте кнопки и справа от полей, чтобы при необходимости добавить или удалить свойства.
Имя
Отображаемое имя подключения.
Условия
Необходимые разрешения
Требуются следующие разрешения:
Требуются разрешения, если необходимо автоматически создавать несуществующие схемы
- USAGE ON DATABASE;
- CREATE SCHEMA ON DATABASE.
Необходимые разрешения, если схема уже существует:
- USAGE ON DATABASE;
- USAGE ON SCHEMA;
- CREATE FILE FORMAT ON SCHEMA;
- CREATE STAGE ON SCHEMA;
- CREATE TABLE ON SCHEMA.
Настройка драйвера
Драйвер требуется только в случае обращения к базе данных через Data Movement Gateway.
driver можно установить с помощью программы для установки драйверов (рекомендуется) или вручную. Ручную установку следует выполнять только в том маловероятном случае, если возникла проблема с программой для установки драйверов.
Использование программы для установки драйверов для установки драйвера
В этом разделе описывается процедура установки необходимого driverа. Она включает загрузку driverа, копирование его в нужную папку (см. ниже) и выполнение скрипта, который автоматически установит и настроит его. Также можно выполнять скрипты для обновления и удаления driverа по необходимости.
Подготовка к установке
-
Убедитесь, что на сервере шлюза Перемещение данных установлена версия Python 3.6 или более поздняя.
Python предустанавливается в большинстве дистрибутивов Linux. Чтобы проверить, какая версия Python установлена в системе, выполните следующую команду:
python3 --version
-
Загрузите драйвер Snowflake ODBC «snowflake-odbc-<версия>.x86_64.rpm». Прямую ссылку для загрузки поддерживаемой версии можно найти в разделе binary-artifacts в /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml. После завершения загрузки скопируйте файл в:
/opt/qlik/gateway/movement/drivers/snowflake
Установка 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 snowflake
В противном случае откроется лицензионное соглашение с конечным пользователем 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 snowflake
В противном случае откроется лицензионное соглашение с конечным пользователем 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 snowflake
driver будет удален.
Установка драйвера вручную
Установку driver вручную следует пытаться выполнить только в том случае, если автоматическая установка драйвера не завершилась успешно.
Необходимо установить и драйвер ODBC, и драйвер JDBC.
Установка драйвера ODBC
- После установки Data Movement Gateway загрузите файл драйвера snowflake-odbc-<версия>x86_64.rpm из раздела binary-artifacts в /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml, затем скопируйте его на компьютер Data Movement Gateway.
- Установите драйвер на машину Data Movement Gateway.
Установка драйвера JDBC
-
Загрузите файл snowflake-jdbc-<версия>.jar из раздела binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/snowflake.yaml, затем скопируйте его в следующую папку на компьютере Data Movement Gateway:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Перезапустите службу Data Movement Gateway и проверьте, что она запустилась, выполнив команды, описанные в Команды службы Data Movement Gateway
Порт
Для исходящего трафика необходимо открыть порт брандмауэра 443.
Оптимизация производительности и эффективности облачных сервисов
Для получения дополнительной информации о плате за использование облачных сервисов Snowflake см. раздел Snowflake: дополнительные изменения в выставлении счетов (уровень облачных сервисов)
Ограничения и замечания
При перемещении данных в целевой объект Snowflake применяются следующие ограничения:
- Репликация таблиц с обратной косой чертой в имени (например, SPECIAL\\TABLE\N) не поддерживается.
Типы данных
В следующей таблице показаны типы данных Snowflake, которые поддерживаются при использовании Qlik Cloud, и сопоставление типов данных из Qlik Cloud по умолчанию.
Информация о собственном типе данных сохраняется и отображается в столбце Собственный тип данных в видах набора данных. Если этот столбец не отображается, необходимо открыть инструмент «Управление столбцами» в виде набора данных и выбрать столбец Собственный тип данных.
Типы данных Qlik Cloud | Типы данных Snowflake |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
BINARY (длина в байтах) |
DATE |
DATE |
TIME |
TIME (точность) |
DATETIME |
TIMESTAMP_NTZ (точность) |
INT1 |
BYTEINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
NUMBER (точность, масштаб) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
UINT1 |
BYTEINT |
UINT2 |
INTEGER |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
STRING |
VARCHAR (длина в байтах) |
WSTRING |
NVARCHAR (длина в байтах) |
BLOB |
BINARY (8388608) |
NCLOB |
NVARCHAR (8388608) |
CLOB |
VARCHAR (8388608) |