Amazon Redshift
Можно использовать Amazon Redshift как целевая платформа данных в конвейере данных или в задаче репликации. В конвейере данных можно выполнять различные операции ELT на целевой платформе, включая хранение, преобразование, регистрацию данных и создание киосков данных. С другой стороны, задача репликации подразумевает репликацию данных непосредственно из исходной системы в целевую с сохранением базовых функций преобразования, но без поддержки операций ELT.
Настройка Amazon Redshift в качестве цели подразумевает следующее:
- Выполнение предварительных условий
- Настройка подключения к облачной промежуточной области (Amazon S3). Это необязательно, если выполняется регистрация существующих данных.
- Настройка подключения к Amazon Redshift
Настройка облачной промежуточной области
Для настройки подключения к Amazon Redshift также требуется настроить подключение к облачной промежуточной области Amazon S3, где данные и изменения хранятся перед применением и помещением на хранение.
Для получения информации о настройке подключения к Amazon S3 см. раздел Amazon S3.
Настройка подключения к Amazon Redshift
После настройки параметров промежуточной области выполните следующие действия.
-
В виде Подключения нажмите Создать подключение.
-
Выберите коннектор цели Amazon Redshift, а затем задайте следующие настройки.
Цель данных
Шлюз данных
Data Movement Gateway требуется, только если целевая база данных недоступна из Qlik Cloud и доступна только по ссылке PrivateLink (например, если она расположена локально и защищена брандмауэром или в виртуальном частном облаке). В таком случае выберите Data Movement Gateway, через который требуется обращаться к целевой базе данных.
В зависимости от конкретной ситуации это будет либо тот же Data Movement Gateway, развернутый для перемещения данных, либо другой шлюз.
Для получения информации о сценариях применения Data Movement Gateway см. разделы Когда требуется Data Movement Gateway? и Общие случаи использования.
Если целевая база данных напрямую доступна из Qlik Cloud, выберите Нет.
Свойства подключения
-
Сервер: имя хоста для сервера базы данных Amazon Redshift.
-
Порт: порт, через который будет осуществляться доступ к базе данных Amazon Redshift. Значение по умолчанию — 5439.
Свойства учетной записи (Account properties)
Имя пользователя и Пароль: имя и пароль пользователя для авторизованного доступа к базе данных Amazon Redshift.
Свойства базы данных
-
Имя базы данных: задать базу данных можно двумя способами:
- Способ 1: выбор из списка. Щелкните Загрузить базы данных, а затем выберите базу данных.
- Способ 2: вручную. Выберите Ввести имя базы данных вручную, а затем введите имя базы данных.
Внутренние свойства
Внутренние свойства предназначены для особых вариантов использования и поэтому не отображаются в диалоговом окне. Их можно использовать только по указанию службы поддержки Qlik.
Используйте кнопки и справа от полей, чтобы при необходимости добавить или удалить свойства.
Имя
Отображаемое имя подключения.
Условия
Необходимые разрешения
Предоставьте следующие разрешения для базы данных Redshift:
- COPY (копирование),
- INSERT (вставка),
- UPDATE (обновление),
- DELETE (удаление),
- SELECT (выбор),
- Создание схемы (требуется, только если схемы не существуют и их необходимо создать с помощью Qlik Talend Data Integration),
- CREATE TABLE (создание таблицы),
- ALTER TABLE (изменение таблицы),
- DROP TABLE (удаление таблицы).
Настройка драйвера
Драйвер требуется только в случае обращения к базе данных через 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 redshift
Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду 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
-
На компьютере шлюза Перемещение данных измените рабочую папку на:
opt/qlik/gateway/movement/drivers/bin
-
Выполните следующую команду:
Синтаксис:
./update redshift
Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду 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, выполните следующие действия.
-
Остановите все задачи, использующие данный коннектор.
-
На компьютере шлюза Перемещение данных измените рабочую папку на:
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 Data Gateway — Data Movement требует только 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 должен быть соответствующий сертификат; в противном случае подключиться не получится. Сертификат CA нужен для удостоверения прав владения на сертификат сервера 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) |
Следующие типы данных SQL Server не поддерживаются. Эти данные не будут читаться.
-
HLLSKETCH
Следующие типы данных преобразуются в тип VARCHAR(65535):
-
GEOGRAPHY
-
GEOMETRY