Перейти к основному содержимому Перейти к дополнительному содержимому

Amazon Redshift

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

Настройка Amazon Redshift в качестве цели подразумевает следующее:

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

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

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

Для получения информации о настройке подключения к Amazon S3 см. раздел Amazon S3.

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

После настройки параметров промежуточной области выполните следующие действия.

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

  2. Выберите коннектор цели Amazon Redshift, а затем задайте следующие настройки.

Цель данных

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

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

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

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

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

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

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

  • Сервер: имя хоста для сервера базы данных 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, выполните следующие действия.

  1. Остановите службу Data Movement Gateway:

    sudo systemctl stop repagent

  2. Если нужно, подтвердите, что служба остановлена:

    sudo systemctl status repagent

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

    Active: inactive (dead) since <timestamp> ago

  3. На компьютере шлюза Перемещение данных измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

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

    Синтаксис:

    ./install redshift

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду install redshift еще раз.

    В противном случае откроется лицензионное соглашение с конечным пользователем 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. На компьютере шлюза Перемещение данных измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

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

    Синтаксис:

    ./update redshift

    Если не удается загрузить driver (из-за ограничений доступа или технических проблем), появится сообщение с указанием места, откуда можно загрузить driver и куда его скопировать на компьютере шлюза Перемещение данных. После этого выполните команду update redshift еще раз.

    В противном случае откроется лицензионное соглашение с конечным пользователем 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. На компьютере шлюза Перемещение данных измените рабочую папку на:

    opt/qlik/gateway/movement/drivers/bin

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

    Синтаксис:

    ./uninstall redshift

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

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

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

  1. Остановите службу Data Movement Gateway:

    sudo systemctl stop repagent

  2. Если нужно, подтвердите, что сервис остановлен:

    sudo systemctl status repagent

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

    Active: inactive (dead) since <timestamp> ago

  4. Загрузите и установите  Клиентские средства Linux SQL, необходимые для подключения к кластеру Amazon Redshift. Qlik Data Gateway — Data Movement требует только Amazon Redshift ODBC Driver (x64) 1.4.65.1000.

    Загрузите драйвер по ссылке:

    https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-64-bit-1.4.65.1000-1.x86_64.rpm

    После установки драйвера 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

  5. Запустите службу Data Movement Gateway.

    sudo systemctl start repagent

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

    sudo systemctl status repagent

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

    Active: active (running) 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 длина строки указывается в символах, а в Redshift длина varchar указывается в байтах. Количество байтов на символ может варьироваться в зависимости от фактических символов и кодирования. В Qlik Cloud предполагается, что длина составляет 3 байта на символ. Это означает, что если задать значение wstring(10), то на самом деле таблица будет создана с длиной varchar(30).
Поддерживаемые типы данных
Типы данных 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

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

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