Skip to main content

Snowflake

驱动程序配置要求

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

支持类型

读取和写入;数据库内。

验证版本

数据库版本:6.8.1

ODBC 客户端版本:3.0.0.1001 64 位

用于连接的 Alteryx 工具

数据库内工作流处理

库内连接工具

Blue icon with database being plugged in.

链接

数据流传入工具

Blue icon with a stream-like object flowing into a database.

链接

输入数据工具

  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 以进行密钥对身份验证

通过 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 批量连接以写入数据

批量加载支持使用 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 门户