Amazon Redshift
Amazon Redshift можно использовать как целевую платформу данных в конвейере данных или в задаче репликации. В конвейере данных можно выполнять различные операции ELT на целевой платформе, включая хранение, преобразование, регистрацию данных и создание киосков данных. С другой стороны, задача репликации подразумевает репликацию данных непосредственно из исходной системы в целевую с сохранением базовых функций преобразования, но без поддержки операций ELT.
Настройка Amazon Redshift в качестве цели подразумевает следующее:
- Выполнение предварительных условий
- Настройка подключения к облачной промежуточной области (Amazon S3). Это необязательно, если выполняется регистрация существующих данных.
- Настройка подключения к Amazon Redshift
Настройка облачной промежуточной области
Для настройки подключения к Amazon Redshift также требуется настроить подключение к облачной промежуточной области Amazon S3, где данные и изменения хранятся перед применением и помещением на хранение.
Для получения информации о настройке подключения к Amazon S3 см. раздел Amazon S3.
Настройка подключения к Amazon Redshift
После настройки параметров промежуточной области выполните следующие действия.
-
В виде Подключения нажмите Создать подключение.
-
Выберите коннектор цели Amazon Redshift, а затем задайте следующие настройки.
Цель данных
Шлюз данных
Шлюз движения данных требуется, только если целевая база данных недоступна из Qlik Cloud и доступна только по ссылке PrivateLink (например, если она расположена локально и защищена брандмауэром или в виртуальном частном облаке). В таком случае выберите Шлюз движения данных, через который требуется обращаться к целевой базе данных.
В зависимости от конкретной ситуации это будет либо тот же Шлюз движения данных, развернутый для перемещения данных, либо другой шлюз.
Для получения информации о сценариях применения Шлюз движения данных см. разделы Когда требуется Шлюз движения данных? и Общие случаи использования.
Если целевая база данных напрямую доступна из Qlik Cloud, выберите Нет.
Свойства подключения
-
Сервер: имя хоста для сервера базы данных Amazon Redshift.
-
Порт: порт, через который будет осуществляться доступ к базе данных Amazon Redshift. Значение по умолчанию — 5439.
Свойства учетной записи (Account properties)
Имя пользователя и Пароль: имя и пароль пользователя для авторизованного доступа к базе данных Amazon Redshift.
Свойства базы данных
-
Имя базы данных: задать базу данных можно двумя способами:
- Способ 1: выбор из списка. Щелкните Загрузить базы данных, а затем выберите базу данных.
- Способ 2: вручную. Выберите Ввести имя базы данных вручную, а затем введите имя базы данных.
Свойства S3
-
ARN роли IAM (Требуется только при промежуточном хранении в S3 на EC2): ARN, связанный с ролью, которую вы создали в консоли IAM Roles Anywhere. Роль — это сущность IAM, которую вы создаете в своей учетной записи с определенными разрешениями. Чтобы IAM Roles Anywhere мог принять роль и предоставить временные учетные данные AWS, роль должна доверять субъекту службы IAM Roles Anywhere.
Для получения дополнительной информации об IAM Roles Anywhere посетите Расширение ролей AWS IAM для рабочих нагрузок за пределами AWS с помощью IAM Roles Anywhere
Внутренние свойства
Внутренние свойства предназначены для особых вариантов использования и поэтому не отображаются в диалоговом окне. Их можно использовать только по указанию службы поддержки Qlik.
Используйте кнопки и
справа от полей, чтобы при необходимости добавить или удалить свойства.
Имя
Отображаемое имя подключения.
Предварительные требования
Необходимые разрешения
Предоставьте следующие разрешения для базы данных Redshift:
- COPY (копирование),
- INSERT (вставка),
- UPDATE (обновление),
- DELETE (удаление),
- SELECT (выбор),
- Создание схемы (требуется, только если схемы не существуют и их необходимо создать с помощью Qlik Talend Data Integration),
- CREATE TABLE (создание таблицы),
- ALTER TABLE (изменение таблицы),
- DROP TABLE (удаление таблицы).
Настройка драйвера
Драйвер требуется только в случае обращения к базе данных через Шлюз движения данных. В таком случае необходимо установить драйвер на компьютер Шлюз движения данных.
driver можно установить с помощью программы для установки драйверов (рекомендуется) или вручную. Ручную установку следует выполнять только в том маловероятном случае, если возникла проблема с программой для установки драйверов.
Использование программы для установки драйверов для установки драйвера
В этом разделе описывается процедура установки необходимого driverа. Она включает выполнение скрипта, который автоматически загружает, устанавливает и настраивает необходимый driver. Также можно выполнять скрипты для обновления и удаления driverа по необходимости.
Подготовка к установке
-
Убедитесь, что на сервере шлюза Data Movement установлена версия 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
-
На компьютере шлюза Data Movement измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./install redshift
Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Data Movement. После этого выполните команду install redshift еще раз.
В противном случае откроется лицензионное соглашение с конечным пользователем 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
-
На компьютере шлюза Data Movement измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./update redshift
Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Data Movement. После этого выполните команду update redshift еще раз.
В противном случае откроется лицензионное соглашение с конечным пользователем 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 измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./uninstall redshift
driver будет удален.
Установка драйвера вручную
Установку driver вручную следует пытаться выполнить только в том случае, если автоматическая установка драйвера не завершилась успешно.
-
Остановите службу Data Movement Gateway:
sudo systemctl stop repagent
-
Если нужно, подтвердите, что сервис остановлен:
sudo systemctl status repagent
-
Загрузите и установите Клиентские средства Linux SQL, необходимые для подключения к кластеру Amazon Redshift. Шлюз данных Qlik — движение данных требует только Amazon Redshift ODBC Driver (x64) 1.4.65.1000.
Загрузите драйвер по ссылке:
После установки драйвера ODBC измените файл /etc/odbcinst.ini следующим образом:
[ODBC Drivers]Amazon Redshift (x64)=InstalledИ:
[Amazon Redshift (x64)]Description=Amazon Redshift ODBC Driver (64-bit)Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so -
Запустите сервис Data Movement Gateway.
sudo systemctl start repagent
-
При необходимости подтвердите, что служба запущена.
sudo systemctl status repagent
Статус должен быть следующим:
Active: active (running) since <timestamp> ago
Статус должен быть следующим:
Active: inactive (dead) since <timestamp> ago
Список драйверов, поддерживаемых Amazon Redshift, приводится в http://docs.aws.amazon.com/redshift/latest/mgmt/configure-odbc-connection.html.
Порт
Необходимо открыть порт 5439 (кластер Amazon Redshift) для исходящего подключения.
Сертификат ЦС
Data Movement Gateway подключается к AWS с использованием SSL. На машине Data Movement Gateway должен быть соответствующий сертификат; в противном случае подключиться не получится. Сертификат ЦС нужен, чтобы подтвердить права владения на сертификат сервера AWS.
Проверьте, что требуемый сертификат CA хранится на машине Linux в следующей папке:
/etc/pki/tls/certs/ca-bundle.crt
Если сертификат отсутствует, самым простым решением будет скопировать пакет сертификатов с другого компьютера Linux.
Общие предварительные требования и замечания
-
Если источник данных имеет 4-байтовые символы эмодзи, используйте преобразование, чтобы изменить тип данных с WSTRING (n) на WSTRING (n*2).
-
Проверьте настройки времени и часового пояса на сервере Data Movement Gateway. Это необходимо, чтобы обеспечить:
- правильную синхронизацию задач полной загрузки и CDC;
- корреляцию между временем в журнале транзакций и фактическим временем.
-
Невозможно открывать виды в реальном времени и исторические виды в Службы аналитики Qlik Cloud из наборов данных, созданных в цели Amazon Redshift с применением Qlik Talend Data Integration.
Ограничения и замечания
-
Коннектор Amazon Redshift поддерживает только стандартную проверку пользователя (имя пользователя и пароль).
Типы данных
В следующей таблице показаны типы данных Amazon Redshift, которые поддерживаются при использовании Qlik Cloud, и сопоставление типов данных из Qlik Cloud по умолчанию.
Информация о собственном типе данных сохраняется и отображается в столбце Собственный тип данных в видах набора данных. Если этот столбец не отображается, необходимо открыть инструмент «Управление столбцами» в виде набора данных и выбрать столбец Собственный тип данных.
| Типы данных Qlik Cloud | Типы данных Amazon Redshift |
|---|---|
|
BOOLEAN |
BOOLEAN |
|
BYTES |
VARBINARY(длина) |
|
DATE |
DATE |
|
TIME |
VARCHAR (20) |
|
DATETIME |
Если масштаб => 0 и =< 6, то: TIMESTAMP Если масштаб => 7 и =< 12, то: VARCHAR (37) |
|
INT1 |
INT2 |
|
INT2 |
INT2 |
|
INT4 |
INT4 |
|
INT8 |
INT8 |
|
NUMERIC |
Если масштаб => 0 и =< 37, то: NUMERIC (точность, масштаб) Если масштаб => 38 и =< 127, то: VARCHAR (длина) |
|
REAL4 |
FLOAT4 |
|
REAL8 |
FLOAT8 |
|
STRING |
Если длина => 1 и =< 65535, то: VARCHAR (длина в байтах) Если длина => 65535 и =< 2147483647, то: VARCHAR (65535) |
|
UINT1 |
INT2 |
|
UINT2 |
INT4 |
|
UINT4 |
INT8 |
|
UINT8 |
NUMERIC (20,0) |
|
WSTRING |
Если длина => 1 и =< 21845, то: NVARCHAR (длина в байтах) Если длина => 21846 и =< 2147483647, то: NVARCHAR (65535) |
|
BLOB |
VARBYTE (16777216) |
|
NCLOB |
VARCHAR (65535) |
|
CLOB |
VARCHAR (65535) |
| JSON | SUPER |
Следующие типы данных SQL Server не поддерживаются. Эти данные не будут читаться.
-
HLLSKETCH
Следующие типы данных преобразуются в тип VARCHAR(65535):
-
GEOGRAPHY
-
ГЕОМЕТРИЯ