Snowflake
驱动程序配置要求 | 对于数据库内处理,为了避免 输出数据工具 写入数据时出现错误,请在驱动程序中指定仓库、架构和数据库。 |
支持类型 | 读取和写入;数据库内。 |
验证版本 | 数据库版本:6.8.1 ODBC 客户端版本:3.0.0.1001 64 位 |
用于连接的 Alteryx 工具
Standard Workflow Processing
数据库内工作流处理
输入数据工具
选择 输入数据工具 并导航至 输入数据 (1) - 配置 窗格 > 选择 连接文件或数据库 下方的 下拉图标 。
找到 数据连接 窗口 > 所有数据源 > Snowflake > ODBC 。
在 Snowflake ODBC 连接 弹出窗口中,输入您的 用户名 和 密码 。
在 选择表格或指定查询 窗口中,选择 表格 选项卡 > 选择 表格 > 选择 确定 。
经典模式
如果要在 经典 模式 下工作,请导航至 选项 > 用户设置 > 编辑用户设置 > 选中 输入/输出工具菜单选项使用经典模式 复选框。
要指定查询,请选择 SQL 编辑器 选项卡 > 在空白处输入查询 > 选择 测试查询 按钮 > 选择 确定 。
选择 输出数据工具 ,然后导航至 菜单 > 选项 。
选择 用户设置 > 编辑用户设置 > 选中 输入/输出工具菜单选项使用经典模式 复选框。
导航至 输出数据 (1) - 配置 窗格 > 在 写入文件或数据库 下方 > 选择 下拉图标 。
选择 其他数据库 > 选择 Snowflake 批量...
您还可以使用 输入数据工具(经典模式) 选择文件和数据源。
如果要切换到 经典模式 ,请用新工具来替换 输出数据工具 > 选择 画布 或 F5 以进行刷新。
输出数据工具
要完全支持表格和列的读写,请将 Alteryx Designer 表格/字段名称 SQL 样式 选项设置为 带引号 。设为“带引号”后,系统将专门选择数据库中的表,而选择 无 将以大写形式生成结果。
在配置 Snowflake 批量连接之前,请查看以下内容:
您只能使用 Snowflake 批量加载器写入数据。
数据写入新输出后,Snowflake 批量加载器将删除写入 S3 存储桶的数据。
文本字段的最大允许长度为 16,777,216 字节。
如需了解详情,请参阅 Snowflake 文档 。
注意
从 2023.2 版本开始,Designer 会在本地取消工作流时取消所有未完成的数据库内执行。这样可以解除对数据管道的限制。这一功能改善了整体数据库交互。
配置 ODBC 连接
在 ODBC 数据源管理员 中,选择 Snowflake 驱动程序并选择 配置 。
输入连接设置和凭证。
选择 确定 以保存连接。
注意
要完全支持名称采用大小写混合形式的表格和列的读写,必须将 Alteryx Designer 表格/字段名称 SQL 样式 选项设置为 带引号 。
Snowflake JWT 密钥对身份验证
凭借版本 2024.1,在包含 DCM 的 Alteryx Designer 中为 Snowflake 使用密钥文件 (JWT) 身份验证变得前所未有的简单。只需选择您的 Snowflake 连接并从可用数据源列表中查找密钥对身份验证。
通过 ODBC 驱动程序配置 Snowflake JWT:
按照 Snowflake 的说明创建令牌:https://docs.snowflake.com/en/user-guide/key-pair-auth.html。
将 ODBC DSN 中的“身份验证程序”设置为 SNOWFLAKE_JWT。
在 Alteryx 中,连接字符串必须指向文件位置,例如:
odbc:DSN=Simba_Snowflake_JWT;UID=user;PRIV_KEY_FILE=G:\AlteryxDataConnectorsTeam\OAuth project\PEMkey\rsa_key.p8;PRIV_KEY_FILE_PWD=__EncPwd1__;JWT_TIMEOUT=120
如需更多说明,请参阅 Snowflake 文档 。
有关如何为 Snowflake 帐户配置 Snowflake JWT 身份验证的详细信息,请参阅 Snowflake 文档 。
配置 Snowflake 批量连接以写入数据
批量加载支持使用 DSN 的连接以及非 DSN 连接。
要使用非 DSN 连接字符串配置批量加载器,请手动构建连接字符串。该字符串必须包含写入 Snowflake 所需的参数以及暂存所需的参数。Snowflake 所需参数可在 Snowflake 文档 中找到。暂存所需参数可在下方找到。
连接字符串示例:
snowbl:Driver= {SnowflakeDSIIDriver};Server=customerinstance.snowflakecomputing.com;Database=TEST_DB; Warehouse=TEST_WAREHOUSE;schema=PUBLIC;UID=user;PWD=password;Bucket=S3Bucket; Access=IAMAccessKey;Secret=IAMSecretKey;URL=s3.amazonaws.com;Region=us-east-1
要使用 DSN 配置批量加载程序,请使用 UI 并按照以下步骤操作:
选择 输出数据工具 ,然后导航至 输出数据 (1) - 配置 窗格。
在 写入文件或数据库 下方,选择 下拉图标 > 找到 数据连接 窗口以选择 数据源 选项卡 > 所有数据源 > Snowflake > 选择 批量 。
在 Snowflake 批量连接 窗口中,选择 本地 选项卡 > 在 用户名(可选) 和 密码(可选) 框中输入您的凭证 > 选择 确定 以查看 输出表格 弹出窗口。
使用 表格名称 或采用 db.schema.tablename 形式输入指定输出文件的 表格(或工作表)名称 :这是完全限定的表格。
在 输出数据 (1) - 配置 窗格的 选项 下方,从 表格/字段名称 SQL 样式 下拉列表中选择 带引号 或 无 。
在 从字段获取文件/表格名称 下方,确定是否要选中 附加后缀至文件/表格名称 下拉列表的复选框。如果您选中该复选框,请从下拉选项中选择...
作为后缀附加至文件/表格名称
作为前缀附加至文件/表格名称
更改文件/表格名称
更改整个文件路径
如果您选中 附加后缀至文件/表格名称 复选框,则在 包含完整或部分文件名的字段 下方选择以下一项:
SEQUENCE_CATALOG
SEQUENCE_SCHEMA
SEQUENCE_NAME
SEQUENCE_OWNER
DATA_TYPE
NUMERIC_PRECISION
NUMERIC_PRECISION_RADIX
NUMERIC_SCALE
START_VALUE
MINIMUM_VALUE
MAXIMUM_VALUE
NEXT_VALUE
INCREMENT
CYCLE_OPTION
CREATED
LAST_ALTERED
COMMENT
如果从下拉列表中选择了字段,确定是否要选中 将字段保留在输出中 复选框,以将该字段包含在输出中。
使用 Snowflake 批量连接暂存数据的方法
配置 Snowflake 批量连接以写入 Amazon S3
从 输出数据 - 配置 窗口中,选择 写入文件或数据库 ,然后选择 其他数据库 > Snowflake 批量 ,以显示 Snowflake 批量连接 窗口。
选择 数据源名称 ,或者单击 ODBC 管理员 创建一个。查看 ODBC 和 OLEDB 数据库连接 。
输入 用户名 和 密码 (如需)。
在 Amazon S3 中,输入 AWS 访问密钥 和 AWS 秘密访问密钥 。
从 密钥加密 中选择一个加密选项:
隐藏 :以最简单的加密方式隐藏密码。
为本机加密 :计算机上的任何用户都能访问连接。
为用户加密 :登录用户可以在任何计算机访问连接。
从 端点 中选择以下选项之一:
默认值 :Amazon 根据所选存储桶确定端点。
指定端点 :要指定存储桶所在的 S3 区域,请指定自定义端点或从先前输入的端点选择。
S3 存储桶必须位于指定的 S3 区域。否则,将出现以下错误: 必须使用指定端点来对您尝试访问的存储桶进行寻址 。 请将所有未来的请求发送到此端点。
选择 默认值 以关闭错误窗口。
(可选)选择 使用 Signature V4 进行身份验证 ,将安全性提升到高于默认 Signature Version 2 的水平。对于需要 Signature Version 4 的区域,此选项将自动启用。2014 年 1 月 30 日之后创建的区域仅支持 Signature Version 4。以下区域需要 Signature V4 的身份验证:
美国东部(俄亥俄)地区
加拿大(中部)地区
亚太地区(孟买)地区
亚太地区(首尔)地区
欧盟(法兰克福)地区
欧盟(伦敦)地区
中国(北京)地区
选择一种 服务器端加密 方法以上传到加密的 Amazon S3 存储桶。请参阅《Amazon Simple Storage Service 开发人员指南》。
无(默认值) :不使用加密方法。
SSE-KMS :使用 AWS KMS 托管密钥的服务器端加密。您还可以提供 KMS Key ID 。当您选择此方法时, 使用 Signature V4 进行身份验证 将默认启用。
输入存储数据对象的 AWS 存储桶的 存储桶名称 。
在 输出数据 (1) - 配置 窗格中配置其他 文件格式选项 。请参阅 文件格式选项 。
配置 Snowflake 批量连接以写入本地存储
现在,您拥有三种新增选项以将数据暂存到本地驱动器。
选择 输出数据工具 ,然后导航至 输出数据 (1) 配置 窗格 > 在 写入文件或数据库 下方,找到 数据连接 窗口,然后选择 数据源 选项卡 > 所有数据源 > Snowflake > 选择 批量 。在 Snowflake 批量连接 窗口中 > 选择 本地 选项卡 >
用户阶段 :Snowflake 提供的内部阶段,与用户相关联。
选择 用户 > 选择 确定 。在 输出表格 弹出窗口中,使用 表格名称 或采用 db.schema.tablename 形式输入指定输出文件格式的 表格(或工作表)名称 :这是完全限定的表格。选择 确定 。在 输出数据 (1) - 配置 窗格的 选项 下方,从 表格/字段名称 SQL 样式 下拉列表中选择 带引号 或 无 。
表格阶段 :Snowflake 提供的内部阶段,与表格相关联。
选择 表格阶段 > 选择 确定 。在 输出表格 弹出窗口中,使用 表格名称 或采用 db.schema.tablename 形式输入指定输出文件格式的 表格(或工作表)名称 :这是完全限定的表格。选择 确定 。在 输出数据 (1) - 配置 窗格的 选项 下方,从 表格/字段名称 SQL 样式 下拉列表中选择 带引号 或 无 。
内部命名阶段 :在 Snowflake 数据库 中,创建并执行 CREATE STAGE 命令 ,并为工具配置提供 阶段名称 。
注意
最大字段大小为 16MB。如果超出字段大小阈值,系统将抛出错误,并且不会写入任何数据。
压缩类型 :选项为“无压缩”或“使用 GZip 压缩”。
无压缩 - 文件以 CSV 格式进行暂存和上传
使用 GZIP 压缩 - CSV 文件使用 GZIP 压缩
区块大小(以 MB 为单位,范围是 1-999) :此选项允许您选择本地暂存的每个 CSV 的大小。
注意
由于底层格式化和压缩,实际文件大小可能会因所选区块大小而异。
线程数 (1-99) :此选项指定用于将文件上传到 Snowflake 的线程数。增大此值可能会提高上传较大文件的性能。如果输入 0,则使用 Snowflake 默认值 (4)。
从暂存开始,每次复制到表格的数据最多可包含 1000 个文件。如果暂存的文件超过 1000 个,您可能会看到多个 copy into 语句。这是 Snowflake 对复制文件所使用的 copy into 语句的要求。如需了解详情,请访问 Snowflake 门户 。
如需详细了解“压缩类型”、“区块大小 (Mb)”和“线程数”等选项,请访问 Snowflake 门户 。