跳到主要内容 跳到补充内容

Amazon Redshift

您可以使用 Amazon Redshift 作为数据管道或复制任务中的目标数据平台。在数据管道中,可以在目标平台上执行各种 ELT 操作,包括存储数据、转换数据、创建数据集市和注册数据。另一方面,复制任务涉及将数据直接从源系统复制到具有基本转换功能的目标系统,但不支持 ELT 操作。

Amazon Redshift 设定为目标涉及以下方面:

设置云暂存区

信息注释如果您正在注册现有数据,则无需设置云暂存区。

配置到 Amazon Redshift 的连接还需要您设置到 AmazonS3 云暂存区域的连接,在应用和存储数据和更改之前,该区域将暂存数据和更改。

有关设置与 AmazonS3 的连接的信息,请参阅Amazon S3

配置连接,指向 Amazon Redshift

提供了暂存设置后,请执行以下操作:

  1. 连接中单击创建连接

  2. 选择 Amazon Redshift 目标连接器,然后提供以下设置:

数据目标

信息注释此字段不适用于 Qlik Talend Cloud 启动器 订阅,因为此订阅层不支持 数据移动网关

只有当目标数据库无法从 Qlik Cloud 访问时(例如,如果它位于防火墙后面的内部部署或虚拟专用云中),才需要 数据移动网关,并且只能使用私有链接访问。如果是这种情况,请选择要通过其访问目标数据库的 数据移动网关

根据您的使用情况,这将和从数据源移动数据时部署的 数据移动网关 相同,或者与之不同。

有关 数据移动网关 用例的信息,请参阅 什么时候需要 数据移动网关?常见用例

如果可以从 Qlik Cloud 直接访问目标数据库,请选择

信息注释通过 数据移动网关 访问目标数据库时,还需要在 数据移动网关 计算机上安装相应的驱动程序。有关详细信息,请参阅下文的驱动程序设置

连接属性

  • 服务器Amazon Redshift 数据库服务器的主机名。

  • 端口:用来访问您的 Amazon Redshift 数据库的端口。默认值为 5439。

帐户属性

用户名称密码:经授权可访问 Amazon Redshift 数据库的用户的用户名和密码。

数据库属性

  • 数据库名称:有两种方法可以用于指定数据库:

    • 方法 1 - 从列表中选择:单击加载数据库,然后选择一个数据库。
    • 方法 2 - 手动:选择手动输入数据库名称,然后输入数据库名称。

内部属性

内部属性用于特殊用例,因此不会在对话框中公开。只有在 Qlik 支持部门的指示下,您才应该使用它们。

使用字段右侧的 新建取消 按钮可以根据需要添加或删除特性。

名称

连接的显示名称。

先决条件

所需的权限

授予 Redshift 数据库上的以下权限:

  • 授予 COPY
  • 授予 INSERT
  • 授予 UPDATE
  • 授予 DELETE
  • 授予 SELECT
  • 创建模式(仅当模式不存在并且您希望 Qlik Talend Data Integration 创建它们时才需要)
  • 授予 CREATE TABLE
  • 授予 ALTER TABLE
  • 授予 DROP TABLE

驱动程序设置

只有通过 数据移动网关 访问数据库时才需要驱动程序。在这种情况下,您需要在 数据移动网关 计算机上安装驱动程序。

您可以使用驱动程序安装实用程序(推荐)安装 driver 或手动安装。只有在您遇到驱动程序安装实用程序发生问题的少见情况下,才应尝试手动安装。

使用驱动程序安装实用程序安装驱动程序

本部分介绍如何安装所需的 driver。这个过程包括运行一个脚本,该脚本将自动下载、安装和配置所需的 driver。您还可以根据需要运行脚本来更新和卸载 driver

  • 请确保在 数据移动 网关服务器上安装了 Python 3.6 或更高版本。

    Python 预装在大多数 Linux 发行版上。您可以通过运行以下命令来检查系统上安装了哪个 Python 版本。

    python3 --version

下载并安装 driver

  1. 停止 数据移动网关 服务:

    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 的 EULA。

  5. 执行以下选项之一:

    • 重复按 [Enter] 可在 EULA 中缓慢滚动。
    • 重复按空格键可快速滚动 EULA。
    • 按 q 退出许可证文本并显示 EULA 接受选项。
  6. 执行以下操作之一:

    • 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
    • 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
    • 键入“v”并按 [Enter] 以再次查看 EULA。

  7. 将会安装 driver

  8. 等待安装完成(以“完成!”指示),然后启动 数据移动网关 服务:

    sudo systemctl start repagent

  9. 可选择确认服务已启动:

    sudo systemctl status repagent

    状态应如下所示:

    Active: active (running) since <timestamp> ago

如果要在安装提供的 driver 之前卸载以前版本的 driver,请运行 update 命令。

下载并更新 driver

  1. 停止 数据移动网关 服务:

    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 的 EULA。

  5. 执行以下选项之一:

    • 重复按 [Enter] 可在 EULA 中缓慢滚动。
    • 重复按空格键可快速滚动 EULA。
    • 按 q 退出许可证文本并显示 EULA 接受选项。
  6. 执行以下操作之一:

    • 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
    • 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
    • 键入“v”并按 [Enter] 可从头开始查看 EULA。
  7. 将卸载旧的 driver,并安装新的 driver

  8. 等待安装完成(以“完成!”指示),然后启动 数据移动网关 服务:

    sudo systemctl start repagent

  9. 可选择确认服务已启动:

    sudo systemctl status repagent

    状态应如下所示:

    Active: active (running) since <timestamp> ago

如果要卸载 driver,请运行 uninstall 命令。

卸载 driver

  1. 停止所有配置为使用此连接器的任务。

  2. 数据移动 网关计算机上,将工作目录更改为:

    opt/qlik/gateway/movement/drivers/bin

  3. 然后运行以下命令:

    语法:

    ./uninstall redshift

    将卸载 driver

手动安装驱动程序

只有在自动驱动程序安装未成功完成的情况下,才应尝试手动安装 driver

  1. 停止 数据移动网关 服务:

    sudo systemctl stop repagent

  2. 可选择确认服务已停止:

    sudo systemctl status repagent

  3. 状态应如下所示:

    Active: inactive (dead) since <timestamp> ago

  4. 下载并安装连接到 Amazon Redshift 集群所需的 LinuxSQL 客户端工具。Qlik 数据网关 - 数据移动 仅需要 Amazon Redshift ODBC Driver (x64) 1.4.34.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. 启动 数据移动网关 服务:

    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

端口

Port 5439(Amazon Redshift 集群)需要打开以进行出站通信。

CA 证书

数据移动网关 使用 SSL 连接至 AWS。这需要适当的 CA 证书才能驻留在 数据移动网关 计算机上;否则,连接将失败。CA 证书的目的是验证 AWS 服务器证书的所有权。

确保所需的 CA 证书存在于 Linux 计算机上的以下位置:

/etc/pki/tls/certs/ca-bundle.crt

如果它不存在,最简单的解决方案是从另一台 Linux 计算机复制证书包。

一般先决条件和考虑事项

  • 如果数据源有 4 个字节的表情符号字符,请使用转换将数据类型从 WSTRING(n ) 转换为 WSTRING ( n*2 )。

  • 确保 数据移动网关 计算机上的时间和时区设置准确。这是为了确保:

    • 正确同步满负载和 CDC 任务
    • 交易日志时间与实际时间的相互关系
  • 您无法从由 Qlik Talend Data IntegrationAmazon Redshift 目标中创建的数据集中,将实时视图和历史记录视图读取到 Qlik Cloud 分析服务 中。

限制和考虑事项

  • Amazon Redshift 连接器仅支持标准身份验证(用户名和密码)。

数据类型

下表显示了使用 Qlik Cloud 时支持的 Amazon Redshift 数据类型以及自 Qlik Cloud 数据类型的默认映射。

本机数据类型信息将被保留,并显示在数据集视图的本机数据类型列中。如果列不可见,则需要打开数据集视图的列选择器,然后选择本机数据类型列。

信息注释Qlik Cloud中,字符串长度以字符为单位,而在 Redshift 中,varchar 长度以字节为单位。每个字符的字节数可能因实际字符和编码而异。Qlik Cloud 假设长度为每个字符 3 个字节。这意味着,当您定义 wstring(10) 时,在实践中将表创建为 varchar(30)。
支持的数据类型
Qlik Cloud 数据类型 Amazon Redshift 数据类型

BOOLEAN

BOOLEAN

BYTES

VARBINARY(length)

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

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!