Snowflake
本文介绍如何将 Tableau 连接到 Snowflake 数据仓库并设置数据源。
开始之前
在开始之前,请收集以下连接信息:
- 要连接到的服务器的名称
- 身份验证方法:
- OAuth:如果要启用来自的 IDP 联合,请使用此方法。
- SAML IDP:如果您想在连接中嵌入 IDP 凭据,请使用此方法。
- 用户名和密码:如果您想在 Snowflake 中存储用户凭据,请使用此方法。
- 登录凭据取决于您选择的身份验证方法
- (可选)要在每次 Tableau 连接时运行的初始 SQL 语句
需要驱动程序
此连接器需要驱动程序才能与数据库通信。计算机上可能已经安装了所需的驱动程序。如果计算机上未安装该驱动程序,Tableau 将在连接对话框中显示一条错误消息,其中包含指向驱动程序下载(链接在新窗口中打开)页面的链接,您可在该页面中找到驱动程序链接和安装说明。
注意:为了支持将 OAuth 与 Snowflake 结合使用,必须安装 Snowflake 提供的版本 2.25.4 或更新版本的 ODBC 驱动程序。
进行连接并设置数据源
选择 Snowflake 作为连接后,将显示一个包含 3 个选项卡的弹出式菜单。使用“常规”选项卡进行身份验证。若要在每次连接开始时运行 SQL 命令,您也可以使用“初始 SQL”。有关详细信息,请参见运行初始 SQL。您可以使用“高级”选项卡添加带有参数的客户连接。
将 Tableau 连接到数据
- 启动 Tableau,并在“连接”下选择“Snowflake”。
- 输入要连接到的服务器的名称。
- 选择“身份验证”方法:“用户名和密码”、“Okta 用户名和密码”或“使用 OAuth 登录”。
- 选择其中一种身份验证方法并完成登录步骤。
Okta 用户名和密码:
- 输入“用户名”和“密码”,
- 在“Okta”字段中,输入 Okta 服务器的 URL。
使用 OAuth 登录
- (可选)如果要在每次连接开始时运行 SQL 命令,请选择“初始 SQL”。有关详细信息,请参见运行初始 SQL。
- 选择“登录”。
- 在打开的网页中,通过输入“用户名”和“密码” 并选择“登录”,从而登录到 Snowflake。或者,如果 Snowflake 配置为支持 SSO,则选择“单点登录”。
- 单击“确定”确认授权访问您的 Snowflake 数据。
- 关闭浏览器窗口和 Tableau。
- 继续进行下一部分“设置数据源”。
- 选择“登录”。
如果 Tableau 无法建立连接,请验证您的凭据是否正确。如果仍然无法连接,则说明您的计算机在定位服务器时遇到问题。请联系您的网络管理员或数据库管理员。
使用驱动程序参数自定义连接
您可以修改使用 Snowflake 连接器建立的连接。您可通过将驱动程序参数附加到“高级”选项卡中的连接字符串来执行此操作:
注意:您无法更改 Tableau 生成的驱动程序参数,您只能附加参数。
例如,此语法指定未满足 no_proxy
值时要使用的代理服务器,以及允许哪些主机名绕过代理服务器:
Proxy=http://proxyserver.company:80;no_proxy=.trustedserver.com;
有关另一个自定义驱动程序参数示例,请参见为 Snowflake 使用代理。
注意:如果您需要自定义项而不将其嵌入到数据源中,您可以在 Windows 的注册表中配置参数(只有标记为“配置参数”的参数可用)。有关驱动程序参数的详细信息,请参见 Snowflake 网站上的 ODBC Configuration and Connection Parameters(ODBC 配置和连接参数)。
设置数据源
在数据源页面上,执行下列操作:
(可选)在页面顶部选择默认数据源名称,然后输入要在 Tableau 中使用的唯一数据源名称。例如,使用可帮助其他数据源用户推断出要连接的数据源的数据源命名约定。
- 从“仓库”下拉列表中,选择仓库或使用文本框按名称搜索仓库。
注意:如果您将此项留空,并且不选择仓库,Tableau 将使用默认的 Snowflake 虚拟仓库。
有关详细信息,请参见Snowflake 中的默认虚拟仓库。
- 在“数据库”下拉列表中,选择数据库或使用文本框按名称搜索数据库。
- 在“架构”下拉列表中,选择架构或使用文本框按名称搜索架构。
- 在“表”下,选择表或使用文本框按名称搜索表。
将表拖到画布,然后选择工作表标签以开始分析。
登录到 Mac
如果在 Mac 上使用 Tableau Desktop,则在输入服务器名称进行连接时,请使用完全限定的域名(例如 mydb.test.ourdomain.lan)而不是相对域名(例如 mydb 或 mydb.test)。
或者,可以将域添加到 Mac 计算机的“搜索域”的列表中,以便在您连接时,只需要提供服务器名称。若要更新“搜索域”的列表,请转到“系统首选项”>“网络”>“高级”,然后打开“DNS”选项卡。
Snowflake 中的默认虚拟仓库
当您创建 Snowflake 数据源时,您正在创建 Snowflake 仓库(用于计算资源)和 Snowflake 数据库(用于数据资源)。仓库和数据库需要权限才能访问。假设您拥有每个仓库和数据库的权限,您可以根据您需要的计算能力使用不同的仓库访问同一数据库。
创建数据源时,您可以选择从下拉列表中选择仓库。如果您将此项留空,并且不选择仓库,Tableau 将使用默认的 Snowflake 虚拟仓库。如果您随后发布该数据源或工作簿,当用户连接时,Tableau 将使用该用户的的默认 Snowflake 虚拟仓库。
应为每个用户分配一个默认仓库,以便 Tableau 可以将该仓库用作默认仓库,以便从 Snowflake 数据源中打开工作簿。
配置 Snowflake 服务器的 OAuth 支持
有关如何为 Tableau 和 Snowflake,之间的连接配置 OAuth 的信息,请参见为 Snowflake 连接配置 OAuth(链接在新窗口中打开)。
为 Snowflake 使用代理
您可以通过代理从 Tableau 连接到 Snowflake。如果使用版本 2019.4 或更高版本,则可以使用连接器对话框,通过在“高级”选项卡中键入所需的参数来配置它。
例如:
proxy=http://proxyserver.company:80
有关应使用的参数的信息,请参见 Snowflake 文档(链接在新窗口中打开)。
注意:Tableau 不使用 DSN 连接到 Snowflake,因此您可以忽略 Snowflake 文档中有关使用 DSN 的说明。
如果您使用 Tableau 版本 2019.4,则可以通过使用 odbc-extras
在 TDC 文件中输入参数来配置它。
例如:
<connection-customization class='snowflake' enabled='true' version='19.1'>
<vendor name='snowflake' />
<driver name='snowflake' />
<customizations>
<customization name='odbc-connect-string-extras' value='proxy=http://proxyserver.company:80' />
</customizations>
</connection-customization>
有关详细信息,请参见 为本机连接器自定义连接字符串(链接在新窗口中打开)一文。
常见问题
以下是一些常见问题和解决方案。
我有一个错误“此字段 XXX 不存在”,我该怎么办?
当您重新创建计算字段、将其添加到工作表并将数据源替换为 Snowflake 数据 (CustomSQL) 时,会出现此错误。
使用“替换字段引用”功能来解决错误。有关替换字段引用的其他信息,请参见替换字段引用。
- Snowflake 网站上的将 Tableau 与 Snowflake 结合使用的最佳做法(链接在新窗口中打开)(需要注册)。