Skip to main content

Snowflake

警告

Deprecation of Basic Authentication

Snowflake will fully deprecate Basic Authentication (username and password) by March 2026. After this date, connections using Basic Authentication will no longer work.

To avoid disruption, update your connections to a more secure authentication method (e.g., OAuth, Azure AD, or Key Pair Authentication) before the deadline. For guidance, see the Knowledge Base article.

驱动程序配置要求

对于数据库内处理,为了避免 输出数据工具 写入数据时出现错误,请在驱动程序中指定仓库、架构和数据库。

支持类型

读取和写入;数据库内。

验证版本

数据库版本:6.8.1

ODBC 客户端版本:3.0.0.1001 64 位

用于连接的 Alteryx 工具

Standard Workflow Processing

数据库内工作流处理

输入数据工具

  1. 选择 输入数据工具 并导航至 输入数据 (1) - 配置 窗格 > 选择 连接文件或数据库 下方的 下拉图标

  2. 找到 数据连接 窗口 > 所有数据源 > Snowflake > ODBC

  3. Snowflake ODBC 连接 弹出窗口中,输入您的 用户名 密码

  4. 选择表格或指定查询 窗口中,选择 表格 选项卡 > 选择 表格 > 选择 确定

经典模式

如果要在 经典 模式 下工作,请导航至 选项 > 用户设置 > 编辑用户设置 > 选中 输入/输出工具菜单选项使用经典模式 复选框。

  1. 要指定查询,请选择 SQL 编辑器 选项卡 > 在空白处输入查询 > 选择 测试查询 按钮 > 选择 确定

  2. 选择 输出数据工具 ,然后导航至 菜单 > 选项

  3. 选择 用户设置 > 编辑用户设置 > 选中 输入/输出工具菜单选项使用经典模式 复选框。

  4. 导航至 输出数据 (1) - 配置 窗格 > 在 写入文件或数据库 下方 > 选择 下拉图标

  5. 选择 其他数据库 > 选择 Snowflake 批量...

  6. 您还可以使用 输入数据工具(经典模式) 选择文件和数据源。

如果要切换到 经典模式 ,请用新工具来替换 输出数据工具  > 选择 画布 F5 以进行刷新。

输出数据工具

要完全支持表格和列的读写,请将 Alteryx Designer 表格/字段名称 SQL 样式 选项设置为 带引号 。设为“带引号”后,系统将专门选择数据库中的表,而选择 将以大写形式生成结果。

在配置 Snowflake 批量连接之前,请查看以下内容:

  • 您只能使用 Snowflake 批量加载器写入数据。

  • 数据写入新输出后,Snowflake 批量加载器将删除写入 S3 存储桶的数据。

  • 文本字段的最大允许长度为 16,777,216 字节。

如需了解详情,请参阅 Snowflake 文档

注意

从 2023.2 版本开始,Designer 会在本地取消工作流时取消所有未完成的数据库内执行。这样可以解除对数据管道的限制。这一功能改善了整体数据库交互。

配置 ODBC 连接

  1. ODBC 数据源管理员 中,选择 Snowflake 驱动程序并选择 配置

  2. 输入连接设置和凭证。

  3. 选择 确定 以保存连接。

注意

要完全支持名称采用大小写混合形式的表格和列的读写,必须将 Alteryx Designer 表格/字段名称 SQL 样式 选项设置为 带引号

Snowflake JWT 密钥对身份验证

凭借版本 2024.1,在包含 DCM 的 Alteryx Designer 中为 Snowflake 使用密钥文件 (JWT) 身份验证变得前所未有的简单。只需选择您的 Snowflake 连接并从可用数据源列表中查找密钥对身份验证。

通过 ODBC 驱动程序配置 Snowflake JWT:

  1. 按照 Snowflake 的说明创建令牌:https://docs.snowflake.com/en/user-guide/key-pair-auth.html。

  2. 将 ODBC DSN 中的“身份验证程序”设置为 SNOWFLAKE_JWT。

    Snowflake JWT
  3. 在 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. 选择 输出数据工具 ,然后导航至 输出数据 (1) - 配置 窗格。

  2. 写入文件或数据库 下方,选择 下拉图标 > 找到 数据连接 窗口以选择 数据源 选项卡 > 所有数据源 > Snowflake > 选择 批量

  3. Snowflake 批量连接 窗口中,选择 本地 选项卡 > 在 用户名(可选) 密码(可选) 框中输入您的凭证 > 选择 确定 以查看 输出表格 弹出窗口。

  4. 使用 表格名称 或采用 db.schema.tablename 形式输入指定输出文件的 表格(或工作表)名称 :这是完全限定的表格。

  5. 输出数据 (1) - 配置 窗格的 选项 下方,从 表格/字段名称 SQL 样式 下拉列表中选择 带引号

  6. 从字段获取文件/表格名称 下方,确定是否要选中 附加后缀至文件/表格名称 下拉列表的复选框。如果您选中该复选框,请从下拉选项中选择...

    1. 作为后缀附加至文件/表格名称

    2. 作为前缀附加至文件/表格名称

    3. 更改文件/表格名称

    4. 更改整个文件路径

  7. 如果您选中 附加后缀至文件/表格名称 复选框,则在 包含完整或部分文件名的字段 下方选择以下一项:

    1. SEQUENCE_CATALOG

    2. SEQUENCE_SCHEMA

    3. SEQUENCE_NAME

    4. SEQUENCE_OWNER

    5. DATA_TYPE

    6. NUMERIC_PRECISION

    7. NUMERIC_PRECISION_RADIX

    8. NUMERIC_SCALE

    9. START_VALUE

    10. MINIMUM_VALUE

    11. MAXIMUM_VALUE

    12. NEXT_VALUE

    13. INCREMENT

    14. CYCLE_OPTION

    15. CREATED

    16. LAST_ALTERED

    17. COMMENT

  8. 如果从下拉列表中选择了字段,确定是否要选中 将字段保留在输出中 复选框,以将该字段包含在输出中。

使用 Snowflake 批量连接暂存数据的方法

配置 Snowflake 批量连接以写入 Amazon S3

  1. 输出数据 - 配置 窗口中,选择 写入文件或数据库 ,然后选择 其他数据库 > Snowflake 批量 ,以显示 Snowflake 批量连接 窗口。

  2. 选择 数据源名称 ,或者单击 ODBC 管理员 创建一个。查看 ODBC 和 OLEDB 数据库连接

  3. 输入 用户名 密码 (如需)。

  4. Amazon S3 中,输入 AWS 访问密钥 AWS 秘密访问密钥

  5. 密钥加密 中选择一个加密选项:

    • 隐藏 :以最简单的加密方式隐藏密码。

    • 为本机加密 :计算机上的任何用户都能访问连接。

    • 为用户加密 :登录用户可以在任何计算机访问连接。

  6. 端点 中选择以下选项之一:

    • 默认值 :Amazon 根据所选存储桶确定端点。

    • 指定端点 :要指定存储桶所在的 S3 区域,请指定自定义端点或从先前输入的端点选择。

      • S3 存储桶必须位于指定的 S3 区域。否则,将出现以下错误: 必须使用指定端点来对您尝试访问的存储桶进行寻址 请将所有未来的请求发送到此端点。

      • 选择 默认值 以关闭错误窗口。

  7. (可选)选择 使用 Signature V4 进行身份验证 ,将安全性提升到高于默认 Signature Version 2 的水平。对于需要 Signature Version 4 的区域,此选项将自动启用。2014 年 1 月 30 日之后创建的区域仅支持 Signature Version 4。以下区域需要 Signature V4 的身份验证:

    • 美国东部(俄亥俄)地区

    • 加拿大(中部)地区

    • 亚太地区(孟买)地区

    • 亚太地区(首尔)地区

    • 欧盟(法兰克福)地区

    • 欧盟(伦敦)地区

    • 中国(北京)地区

  8. 选择一种 服务器端加密 方法以上传到加密的 Amazon S3 存储桶。请参阅《Amazon Simple Storage Service 开发人员指南》。

    • 无(默认值) :不使用加密方法。

    • SSE-KMS :使用 AWS KMS 托管密钥的服务器端加密。您还可以提供 KMS Key ID 。当您选择此方法时, 使用 Signature V4 进行身份验证 将默认启用。

  9. 输入存储数据对象的 AWS 存储桶的 存储桶名称

  10. 输出数据 (1) - 配置 窗格中配置其他 文件格式选项 。请参阅 文件格式选项

配置 Snowflake 批量连接以写入本地存储

现在,您拥有三种新增选项以将数据暂存到本地驱动器。

选择 输出数据工具 ,然后导航至 输出数据 (1) 配置 窗格 > 在 写入文件或数据库 下方,找到 数据连接 窗口,然后选择 数据源 选项卡 >  所有数据源  >  Snowflake  > 选择 批量 。在 Snowflake 批量连接 窗口中 > 选择 本地 选项卡 >

  1. 用户阶段 :Snowflake 提供的内部阶段,与用户相关联。

    1. 选择 用户 > 选择 确定 。在 输出表格 弹出窗口中,使用 表格名称 或采用  db.schema.tablename 形式输入指定输出文件格式的 表格(或工作表)名称 :这是完全限定的表格。选择 确定 。在 输出数据 (1) - 配置 窗格的 选项 下方,从 表格/字段名称 SQL 样式 下拉列表中选择 带引号

  2. 表格阶段 :Snowflake 提供的内部阶段,与表格相关联。

    1. 选择 表格阶段 > 选择 确定 。在 输出表格 弹出窗口中,使用 表格名称 或采用  db.schema.tablename 形式输入指定输出文件格式的 表格(或工作表)名称 :这是完全限定的表格。选择 确定 。在 输出数据 (1) - 配置 窗格的 选项 下方,从 表格/字段名称 SQL 样式 下拉列表中选择 带引号

      1. 内部命名阶段 :在 Snowflake 数据库 中,创建并执行 CREATE STAGE 命令 ,并为工具配置提供 阶段名称

        注意

        最大字段大小为 16MB。如果超出字段大小阈值,系统将抛出错误,并且不会写入任何数据。

  3. 压缩类型 :选项为“无压缩”或“使用 GZip 压缩”。

    1. 无压缩 - 文件以 CSV 格式进行暂存和上传

    2. 使用 GZIP 压缩 - CSV 文件使用 GZIP 压缩

  4. 区块大小(以 MB 为单位,范围是 1-999) :此选项允许您选择本地暂存的每个 CSV 的大小。

    注意

    由于底层格式化和压缩,实际文件大小可能会因所选区块大小而异。

  5. 线程数 (1-99) :此选项指定用于将文件上传到 Snowflake 的线程数。增大此值可能会提高上传较大文件的性能。如果输入 0,则使用 Snowflake 默认值 (4)。

从暂存开始,每次复制到表格的数据最多可包含 1000 个文件。如果暂存的文件超过 1000 个,您可能会看到多个 copy into 语句。这是 Snowflake 对复制文件所使用的 copy into 语句的要求。如需了解详情,请访问 Snowflake 门户

如需详细了解“压缩类型”、“区块大小 (Mb)”和“线程数”等选项,请访问 Snowflake 门户