Snowflake
弃用基本身份验证
Snowflake 将于 2026 年 3 月前完全弃用基本身份验证(用户名和密码)。在此日期之后,使用基本身份验证的连接将无法正常工作。
为避免中断,请在截止日期前将您的连接更新为更安全的身份验证方法(例如,OAuth、Azure AD 或密钥对身份验证)。如需指导,请参阅知识库文章。
驱动程序配置要求 | 对于数据库内处理,为了避免输出数据工具写入数据时出现错误,请在驱动程序中指定仓库、架构和数据库。 |
支持类型 | 读取和写入、数据库内。 |
验证版本 | 数据库版本:6.8.1 ODBC 客户端版本:3.12.0.1000 64 位 |
用于连接的 Alteryx 工具
标准工作流处理
数据库内工作流处理
输入数据工具
选择输入数据工具,然后导航至输入数据 - 配置窗口。选择连接文件或数据库下的下拉菜单。
前往数据连接 > 所有数据源 > Snowflake > ODBC。
在 Snowflake ODBC 连接弹出窗口中,输入您的用户名和密码。
在选择表格或指定查询窗口中,选择表格 > 表格 > 确定。
经典模式
如果要在经典模式下工作,请导航至选项 > 用户设置 > 编辑用户设置 > 选中输入/输出工具菜单选项使用经典模式复选框。
要指定查询,请选择 SQL 编辑器选项卡。在可用空间中输入查询,然后选择测试查询 > 确定。
选择输出数据工具,然后导航至菜单 > 选项。
选择用户设置 > 编辑用户设置 > 选中输入/输出工具菜单选项使用经典模式复选框。
前往输出数据 - 配置 > 写入文件或数据库,然后选择下拉图标。
选择其他数据库 > 选择 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 的说明创建令牌。
将 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 存储桶的存储桶名称。
在输出数据 - 配置窗口中配置其他文件格式选项。如需了解详情,请前往文件格式选项。
配置 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 门户。


