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

Azure Synapse Analytics

您可以将 Azure Synapse Analytics 用作数据管道中的目标数据平台。在数据管道中,可以在目标平台上执行各种 ELT 操作,包括存储数据、转换数据、创建数据集市和注册数据。

Azure Synapse Analytics 设定为目标涉及以下方面:

  • 满足先决条件
  • 正在配置到云暂存区域(Azure 数据湖存储)的连接。如果您正在注册现有数据,则不需要执行此操作。
  • 配置连接,指向 Azure Synapse Analytics

设置云暂存区

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

您还需要一个 Azure Data Lake Storage 云暂存区,在应用和存储之前,数据和更改都在那里暂存。有关设置与 Azure 数据湖存储的连接的信息,请参阅Azure Data Lake Storage

正在设置 Azure Synapse Analytics 连接属性

提供 Azure Data Lake 存储目标设置后,请执行以下操作:

  1. 连接中单击创建连接

  2. 选择 Azure Synapse Analytics 目标连接器,然后提供以下设置:

数据目标

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

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

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

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

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

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

连接属性

  • 服务器:用于标识 Azure Synapse Analytics 数据库位置的主机名。

  • 端口:用来访问您的 Azure Synapse Analytics 数据库的端口。默认值为 1433。

帐户属性

用户名称密码:经授权可访问 Azure Synapse Analytics 数据库的用户的用户名和密码。

数据库属性

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

    • 方法 1 - 从列表中选择:此方法要求在主数据库上创建用户。单击加载数据库,然后选择一个数据库。
    • 方法 2 - 手动:选择手动输入数据库名称,然后输入数据库名称。

数据加载属性

信息注释如果您只是注册数据(即不是登陆数据),则不需要这些字段。

SQL Server 凭据可以在运行时自动创建(默认设置),也可以使用现有凭据。根据情况执行以下操作之一:

  • 如果选中创建 SQL Server 凭据复选框(默认设置),则将在运行时自动创建 SQL Server 凭据。在访问密钥字段中指定您的访问密钥。
  • 若要使用现有凭据,请清除创建 SQL Server 凭据复选框,然后在凭据名称字段中指定您的 SQL Server 凭据名称。

名称

连接的显示名称。

先决条件

权限

您需要同时授予存储权限和数据库权限,如下所述。

存储权限

必须向 Azure Synapse Analytics 连接器中指定的用户授予以下存储权限。

  • 在 ADLS Gen2 存储容器上:LIST
  • 在 ADLS Gen2 存储文件夹上:READ、WRITE 和 DELETE
  • 在 ADLS Gen2 文件系统的访问控制 (IAM) 设置中,将“存储 Blob 数据贡献者”角色分配给 数据移动网关(AD 应用程序 ID)。角色可能需要几分钟才能生效。

数据库权限

必须授予 Azure Synapse Analytics 连接器中指定的用户对数据库的以下权限:

  • 一般权限:

    • db_owner ROLE
  • 表格权限:

    • SELECT、INSERT、UPDATE 和 DELETE
    • 批量加载
    • CREATE、ALTER、DROP(如果任务定义要求)

数据库选择

为了能够选择数据库(通过单击连接器对话框中的加载数据库),需要在主数据库上创建连接器设置中指定的用户。

驱动程序设置

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

您可以使用驱动程序安装实用程序(推荐)安装 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 sqlserver

    如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 install sqlserver 命令。

    否则,将显示 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 sqlserver

    如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 update sqlserver 命令。

    否则,将显示 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 sqlserver

    将卸载 driver

手动安装驱动程序

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

您需要同时安装 ODBC 驱动程序和 JDBC 驱动程序。

在安装 数据移动网关 后,下载 msodbcsql<版本>.x86_64.rpm 驱动程序。您可以在此路径下面找到受支持版本的直接下载链接:binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml。下载完成后,将 RPM 复制到 数据移动网关 机器上。

Data Movement gateway 服务器上,打开 shell 提示符并执行以下操作:

  1. 停止 Data Movement gateway 服务:

    sudo systemctl stop repagent

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

    sudo systemctl status repagent

  3. 状态应如下所示:

    Active: inactive (dead) since <timestamp> ago

  4. 安装驱动程序 (RPM)。

  5. 将工作目录更改为 <product_dir>/bin

  6. 如下将驱动程序位置复制到 site_arep_login.sh 文件:

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/msodbcsql<version>/lib64/" >> site_arep_login.sh

    这将把驱动程序添加到 "LD_LIBRARY_PATH" 并更新驱动程序位置于 site_arep_login.sh 文件。

  7. 可选择确认已将驱动程序位置复制:

    cat site_arep_login.sh
  8. 启动 Data Movement gateway 服务:

    sudo systemctl start repagent

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

    sudo systemctl status repagent

    状态应如下所示:

    Active: active (running) since <timestamp> ago

  10. Data Movement gateway 需要以下 ODBC 库:msodbcsql-18.1.so.1.1

    要检查当前安装的库版本,请发出以下命令:

    ls /opt/microsoft/msodbcsql<version>/lib64/

    如果现有库有不同的版本号码(例如 libmsodbcsql-18.0.so.1.1),则需要在现有库和所需库之间创建符号链接。

    为此,请发出以下命令:

    cd /opt/microsoft/msodbcsql<version>/lib64/
    ln -s existing_library_name msodbcsql-18.1.so.1.1

    此处 existing_library_name 是当前安装的库的名称(例如 libmsodbcsql-18.0.so.1.1)。

  1. 下载 mssql-jdbc-<version>.jar 文件。您可以在此路径下面找到受支持版本的直接下载链接:binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml。下载完成后,将 JAR 文件复制到 数据移动网关 计算机上的以下文件夹。

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. 通过运行重新启动服务中所述的命令重新启动 数据移动网关 服务

端口

  • 在 Azure 之外的计算机上 数据移动网关 运行时 - 打开端口 1433 进行出站通信。
  • 数据移动网关 在 AzureVM 上运行时 - 打开以下端口进行出站通信:
    • 1433
    • 11000-11999
    • 14000-14999

限制和考虑事项

当使用 Azure Synapse Analytics 作为目标时,您需要考虑以下限制和注意事项:

  • 具有 CHAR/VARCHAR 数据类型和非拉丁排序规则(例如“Chinese_PRC_CI_AS”)的源列需要映射到 NVARCHAR。

  • 空源列处理:

    • 移动 源二进制列(例如 VARBINARY 或 BLOB)的值为空时,Qlik Talend Data Integration 会在相应的目标列中插入 NULL。

    信息注释空值不是 NULL,而是长度为零的数据。
  • 不支持超过1 MB 的记录移动
  • 对于包含 4 字节表情符号字符的数据的移动,要求数据类型为目标上的宽字符串(例如 NCHAR/NVARCHAR/NCLOB)。

数据类型

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

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

支持的数据类型
Qlik Cloud 数据类型 Azure Synapse Analytics 数据类型

BOOLEAN

BIT

BYTES

VARBINARY(以字节计算的长度)

DATE

DATE

TIME

TIME

DATETIME

DATETIME

INT1

BYTEINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

NUMERIC(精确度、刻度)

REAL4

REAL

REAL8

FLOAT

UINT1

BYTEINT

UINT2

INTEGER

UINT4

INTEGER

UINT8

BIGINT

STRING

VARCHAR(以字节计算的长度)

WSTRING

NVARCHAR(以字节计算的长度)

BLOB

VARBINARY(以字节计算的长度)

NCLOB

NVARCHAR(以字节计算的长度)

CLOB

VARCHAR(以字节计算的长度)

本页面有帮助吗?

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