在 Snowsight 中管理和使用工作表¶
工作表提供了一种强大且通用的方法来运行 SQL 查询或 Python 代码,以及执行其他 Snowflake 数据加载、定义和操作任务。
在 Snowsight 中打开工作表后,您可以执行以下任一操作:
此外,您还可以 编写 SQL 语句。您也可以 编写 Python 代码。
从工作表浏览其他工作表¶
打开工作表时,您可以在 Worksheets 资源管理器中查看其他工作表。您可以从 Worksheets 资源管理器搜索其他工作表并管理工作表。
预览工作表内容¶
要预览工作表的内容,您可以将鼠标悬停在 Worksheets 资源管理器中的工作表名称上。预览还显示用于运行工作表的角色。
您还可以从预览中复制工作表的内容。将鼠标悬停在工作表内容预览上,然后选择出现的 Copy 按钮。
使用键盘快捷键更新工作表¶
Snowsight 提供键盘快捷键来帮助您快速导航和编辑工作表中的查询。例如,您可以使用热键在工作表中移动光标、执行查找和替换、复制行、格式化查询等。
要查看所有可用的键盘快捷键,请打开工作表并按 Mac 键盘上的 [CMD]+[SHIFT]+[?] 或 Windows 键盘上的 [CTRL]+[SHIFT]+[?]。
更改工作表的会话上下文¶
设置工作表的会话上下文以定义用于运行工作表内容的角色和仓库。工作表上下文将被保留以供将来的会话使用。
备注
您不能选择多个角色。上下文选择器不支持辅助角色。在 SQL 工作表中启用辅助角色,运行 USE SECONDARY ROLES。
工作表的角色上下文根据授予角色的访问控制权限,确定可以对 Snowflake 对象执行哪些操作。
要设置工作表的会话上下文,请执行以下操作:
登录 Snowsight。
选择 Projects » Worksheets 以打开工作表列表。
打开工作表。
打开上下文选择器。
选择运行工作表的角色。
选择该角色有权限使用的仓库。
选择下拉列表之外的任意位置以关闭上下文选择器。
备注
每个工作表都是一个唯一的会话,可以使用不同于您在 User 菜单中选择的角色(您的 活动角色)。更改您的活动角色不会更改使用上下文选择器分配给工作表的角色。
恢复仓库并调整其规模¶
在运行工作表之前或之后,您可能需要恢复仓库或调整仓库大小。
您必须拥有仓库的 MODIFY 或 OWNERSHIP 权限才能更改仓库详细信息。
要使用上下文选择器查看和调整仓库详细信息,请执行以下操作:
登录 Snowsight。
选择 Projects » Worksheets 以打开工作表列表。
打开工作表。
打开上下文选择器。
选择 Show warehouse details 图标。
对于 Status 选项,选择状态并在仓库暂停时选择 Resume。
对于 Size 选项,选择大小并选择不同的大小。
选择下拉列表之外的任意位置以关闭上下文选择器。
管理打开的工作表¶
打开工作表后,当将鼠标悬停在工作表的选项卡上时,选择 ,以便使用以下方式管理打开的工作表:
重命名工作表。
复制工作表。
删除工作表。
当您有打开的工作表时,您还可以在 Worksheets 资源管理器中查看和管理其他工作表:
在文件夹中组织工作表¶
您可以使用 Snowsight 组织和管理文件夹中的工作表。
管理工作表历史记录和版本¶
当您进行更改并运行 SQL 查询或工作表中的代码时,将保存工作表的新版本。
更改工作表和管理工作表版本时,请考虑以下事项:
当您与其他用户共享工作表时,具有编辑权限的用户可以查看该工作表的过去版本。您与之共享工作表的所有用户都可以查看该工作表最新版本的结果,且最多可以查看 10,000 行。
每当有权限的人运行工作表时,就会保存该工作表的新版本。
如果您对工作表进行了更改,但这些更改似乎消失了,请使用版本历史记录来打开包含更改的已保存草稿。
最近运行的工作表版本是协作者可见的版本。
如果您对工作表进行了更改,并且希望与您共享该工作表的用户可以看到该更改,则必须运行该工作表。
如果多个用户同时编辑和运行共享工作表,则每次运行该工作表都会创建一个新版本。最近运行的工作表版本是您打开或刷新工作表时可见的版本。
切换工作表版本¶
如果您想要查看工作表的过去版本,请执行以下操作:
登录 Snowsight。
选择 Projects » Worksheets 以打开工作表列表。
打开工作表。
选择工作表的 Code Versions。
从工作表版本列表中,选择要查看的版本的时间戳。
查看并选择性地复制该版本的工作表详细信息。
选择 Close 返回工作表的当前版本。
如果要查看过去工作表运行的结果,请查看工作表的查询历史记录。请参阅 查看查询历史记录。
过去工作表版本的存储结果¶
备注
适用于大多数账户。美国政府区域内的账户、使用 Virtual Private Snowflake (VPS) 的账户,以及使用专用连接访问 Snowflake 的账户仍能看到限制为 10,000 行的查询结果。
在工作表中所执行查询的所有结果最长可保留 24 小时。24 小时后,必须再次运行查询才能查看结果。
为了支持上下文统计信息和共享工作表结果,查询结果最多可缓存 90 天或 25 个工作表版本,以较大者为准。此缓存包含在您账户的数据存储使用量中。
恢复已删除用户拥有的工作表¶
如果您删除某个用户,则最多可以恢复该用户拥有的 500 个工作表。要恢复工作表,请执行以下步骤:
从 SQL 文件创建工作表,将恢复的工作表重新添加到 Snowflake。
如果您希望在删除用户之前更改所有权或保留对工作表的访问权限,请要求该用户共享工作表。请参阅 共享工作表和文件夹。
下载已删除用户拥有的已恢复工作表¶
要恢复已删除用户拥有的工作表,请下载 .tar.gz
归档文件,其中最多包含该用户拥有的 500 个工作表。
备注
您必须获得 ACCOUNTADMIN 角色才能恢复已删除用户的工作表。
登录 Snowsight。
选择 Projects » Worksheets。
在对话框中,输入您账户中已删除用户的用户名。
重要
用户名的大小写和拼写必须与存储在 Snowflake 中的用户名完全匹配。
选择 Recover。
您的 Web 浏览器将下载
.tar
文件,其中最多包含 500 个工作表。如果删除的用户拥有的工作表超过 500 个,则仅下载最近修改的 500 个工作表。
下载已删除用户拥有的工作表后,通过从 SQL 文件创建工作表,将恢复的工作表添加到 Snowsight。
您必须将下载的 .tar
文件展开到 .sql
文件所在的文件夹,然后才能将恢复的工作表添加到 Snowsight。每次只能将一个工作表添加到 Snowsight,且将恢复的工作表添加到 Snowsight 的用户将成为工作表的新所有者。
有关详细信息,请参阅 从 SQL 文件创建工作表。
恢复已删除用户拥有的工作表的注意事项¶
恢复工作表时的注意事项:
仅恢复最近执行的工作表版本的标题和内容。不会恢复工作表版本历史记录、共享接收者和权限、查询结果以及工作表元数据。
最多可恢复 500 个工作表。如果删除的用户拥有的工作表超过 500 个,仅恢复最近修改的 500 个工作表。
仅恢复 Snowsight 中的工作表。无法使用此方法恢复已删除用户在 Classic Console 中拥有的工作表。
如果多个已删除的用户具有相同的用户名,则将恢复具有该用户名的所有已删除用户拥有的工作表。
如果工作表恢复因意外原因失败,请联系 Snowflake 支持部门 (https://community.snowflake.com/s/article/How-To-Submit-a-Support-Case-in-Snowflake-Lodge)。
工作表的内部 Snowflake 对象¶
Snowflake 创建以下内部对象来支持在 Snowsight 中使用工作表:
对象类型 |
名称 |
---|---|
安全集成 |
WORKSHEETS |
Blob |
WORKSHEETS_APP |
数据库 |
WORKSHEETS_APP |
用户 |
WORKSHEETS_APP_USER |
角色 |
APPADMIN、WORKSHEETS_APP_RL |
这些内部对象用于在您账户的内部暂存区缓存查询结果。此缓存数据由账户的密钥层次结构加密和保护。
授予内部角色的有限权限仅允许 Snowsight 访问内部暂存区来存储这些结果。该角色 无法 列出您账户中的对象或访问表中的数据。
当您在 SNOWFLAKE 共享数据库的 ACCOUNT_USAGE 架构中分别查询 USERS 和 ROLES 视图时,将返回 Snowsight 用户和角色。SHOW <objects> 语句不返回这些内部对象。