Snowflake
本节介绍如何使用 Snowflake Target 连接器配置与 Snowflak 目标的连接。在连接到 Snowflake 目标之前,您需要在数据库上配置 所需的权限。如果您通过 数据移动网关 连接到 Snowflake,还需要安装所需的驱动程序,如 驱动程序设置 中所述。
有关使用 Snowflake Target 连接器时的限制和注意事项的信息,请参见限制和考虑事项。
设置连接属性
本节介绍可用的连接属性。除非另有说明,否则所有属性都是必需的。
数据移动网关
数据网关:只有当目标数据库无法从 Qlik Cloud 访问时(例如,如果它位于或虚拟专用云中),才需要 数据移动网关。如果是这种情况,请选择要通过其访问目标数据库的 数据移动网关。
根据您的使用情况,这将是从数据源部署到陆地数据的相同 数据移动网关,或者是与之不同的。有关可能的 数据移动网关 部署可能性的信息,请参阅常见用例。
如果可以从 Qlik Cloud 直接访问目标数据库,请选择无。
连接属性
-
服务器:您用于访问 Snowflake 的 URL。例如,myaccount.snowflakecomputing.com。
-
端口:您要用来访问 Snowflake 数据库的端口。默认值为 443。
帐户属性
用户名和密码:经授权可访问 Snowflake 数据库的用户的用户名和密码。
数据库属性
- 默认仓库:Snowflake 仓库的名称。您可以在项目设置中覆盖此设置。
- 数据库名称:Snowflake 数据库的名称。
内部属性
内部属性用于特殊用例,因此不会在对话框中公开。只有在 Qlik 支持部门的指示下,您才应该使用它们。
使用字段右侧的 和
按钮可以根据需要添加或删除特性。
名称
连接的显示名称。
先决条件
所需的权限
需要以下权限:
如果希望自动创建不存在的模式,则需要权限
- USAGE ON DATABASE
- CREATE SCHEMA ON DATABASE
如果模式已经存在时需要的权限
- USAGE ON DATABASE
- USAGE ON SCHEMA
- CREATE FILE FORMAT ON SCHEMA
- CREATE STAGE ON SCHEMA
- CREATE TABLE ON SCHEMA
驱动程序设置
只有通过 数据移动网关 访问数据库时才需要驱动程序。
您可以使用驱动程序安装实用程序(推荐)安装 driver 或手动安装。只有在您遇到驱动程序安装实用程序发生问题的少见情况下,才应尝试手动安装。
使用驱动程序安装实用程序安装驱动程序
本部分介绍如何安装所需的 driver。这个过程包括下载 driver,将其复制到所需的文件夹(见下文),并运行一个脚本来自动安装和配置它。您还可以根据需要运行脚本来更新和卸载 driver。
准备安装
-
请确保在 数据移动 网关服务器上安装了 Python 3.6 或更高版本。
Python 预装在大多数 Linux 发行版上。您可以通过运行以下命令来检查系统上安装了哪个 Python 版本。
python --version
-
从 https://developers.snowflake.com/odbc/ 下载 Snowflake ODBC 驱动程序 "snowflake-odbc-2.25.4.x86_64.rpm",并将文件复制到:
/opt/qlik/gateway/movement/drivers/snowflake
安装 driver
安装 driver :
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./install snowflake
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
-
键入“v”并按 [Enter] 以再次查看 EULA。
将会安装 driver。
更新 driver
如果要在安装提供的 driver 之前卸载以前版本的 driver,请运行 update 命令。
更新 driver:
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./update snowflake
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
- 键入“v”并按 [Enter] 可从头开始查看 EULA。
将卸载旧的 driver,并安装新的 driver。
卸载 driver
如果要卸载 driver,请运行 uninstall 命令。
卸载 driver:
-
如果 数据移动 网关用于登陆数据,请停止所有登陆陆任务。如果使用不同的 数据移动 网关对目标执行 ELT 过程,请停止所有相关任务(数据注册、存储、转换和数据集市)。如果单个 数据移动 网关用于登陆数据并在目标上执行 ELT 任务,则停止所有上述任务。
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./uninstall snowflake
将卸载 driver。
手动安装驱动程序
只有在自动驱动程序安装未成功完成的情况下,才应尝试手动安装 driver。
您需要同时安装 ODBC 驱动程序和 JDBC 驱动程序。
安装 ODBC 驱动程序
从 Snowflake 开发者网站下载适用于 Linux 的 Snowflake ODBC 驱动程序 2.24.0(64 位)或更高版本,并将其安装在 数据移动网关 计算机上。
安装 JDBC 驱动程序
-
从 MVN 储存库下载 snowflake-jdbc-3.13.30.jar 并将其复制到 数据移动网关 计算机的以下文件夹。
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
通过运行停止和启动 数据移动 网关服务中所述的停止和启动命令重新启动 数据移动网关 服务
端口:
需要为出站通信打开防火墙端口 443。
性能和云服务使用优化
有关使用 Snowflake 云服务时产生的费用的信息,请参阅 Snowflake:额外计费(云服务层)影响
限制和考虑事项
将数据移动到 Snowflake 目标时,以下限制适用:
- 不支持复制名称中带有反斜杠的表(例如 SPECIAL\\TABLE\N)。
数据类型
下表显示了使用 Qlik Cloud 时支持的 Snowflake 数据类型以及自 Qlik Cloud 数据类型的默认映射。
Qlik Cloud 数据类型 | Snowflake 数据类型 |
---|---|
BOOLEAN |
BOOLEAN |
BYTES |
BINARY(以字节计算的长度) |
DATE |
DATE |
TIME |
TIME(精确度) |
DATETIME |
TIMESTAMP_NTZ(精确度) |
INT1 |
BYTEINT |
INT2 |
SMALLINT |
INT4 |
INTEGER |
INT8 |
BIGINT |
NUMERIC |
NUMBER(精确度、刻度) |
REAL4 |
FLOAT4 |
REAL8 |
FLOAT8 |
UINT1 |
BYTEINT |
UINT2 |
INTEGER |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
STRING |
VARCHAR(以字节计算的长度) |
WSTRING |
NVARCHAR(以字节计算的长度) |
BLOB |
BINARY (8388608) |
NCLOB |
NVARCHAR (8388608) |
CLOB |
VARCHAR (8388608) |