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

Amazon Redshift

您可以使用 Amazon Redshift 作为数据管道中的目标数据平台。在数据管道中,可以在目标平台上执行各种操作,包括登陆数据、存储数据、转换数据、创建数据集市和注册数据。

这包括:

设置云暂存区

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

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

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

配置连接,指向 Amazon Redshift

选择 Amazon Redshift 目标连接器并提供以下设置:

数据目标

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

根据您的使用情况,这将是从数据源部署到陆地数据的相同 数据移动网关,或者是与之不同的。有关可能的 数据移动网关 部署可能性的信息,请参阅常见用例

信息注释需要 数据移动网关 2023.5.9 或更高版本。

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

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

连接属性

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

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

帐户属性

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

数据库属性

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

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

内部属性

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

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

名称

连接的显示名称。

先决条件

所需的权限

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

  • 授予 COPY
  • 授予 INSERT
  • 授予 UPDATE
  • 授予 DELETE
  • 授予 SELECT
  • 创建模式(仅当模式不存在并且您希望 数据移动网关 创建它们时才需要)
  • 授予 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 Cloud 数据集成Amazon 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

VARBINARY(1024000)

NCLOB

VARCHAR(最大 LOB 大小)

CLOB

VARCHAR(最大 LOB 大小)

不支持以下 SQL Server 数据类型。将不会读取数据。

  • HLLSKETCH

以下数据类型转换为 VARCHAR (65535):

  • GEOGRAPHY

  • GEOMETRY

本页面有帮助吗?

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