在 Snowsight 中管理和使用工作表¶
工作表提供一种强大且通用的方法,用于运行 SQL 查询或 Python 代码,以及执行其他 Snowflake 数据加载、定义和操作任务。
在 Snowsight 中打开工作表后,您可以执行以下任一操作:
浏览并打开工作表¶
打开工作表后,您可以查看和管理 Worksheets explorer 中的其他工作表。Worksheets explorer 还允许您搜索特定工作表。
预览工作表内容¶
要预览工作表的内容,您可以将鼠标悬停在 Worksheets explorer 中工作表的名称上。预览还显示用于运行工作表的角色。
您还可以从预览中复制工作表的内容。将鼠标悬停在工作表内容预览上,然后选择出现的 Copy 按钮。
使用键盘快捷键执行任务¶
Snowsight 提供键盘快捷键来帮助您快速导航和编辑工作表中的查询。例如,您可以使用热键在工作表中移动光标、执行查找和替换、复制行、格式化查询等。
要查看所有可用的键盘快捷键,请按 Mac 键盘上的 CMD + SHIFT + / 或 Windows 键盘上的 CTRL + SHIFT + /。
更改工作表的上下文¶
创建工作表时,您需要指定用于执行工作表内容的角色和仓库。这些信息称为 工作表上下文,会在未来会话中保留,并与同一工作表的所有用户共享。
备注
通过角色选择器,您可以选择自己的主要角色。要在 SQL 工作表中启用辅助角色,请运行 USE SECONDARY ROLES。要确定当前会话中的辅助角色是否处于活动状态,请调用 CURRENT_SECONDARY_ROLES 函数 CURRENT_SECONDARY_ROLES。
工作表的角色上下文根据授予角色的访问控制权限,确定可以对 Snowflake 对象执行哪些操作。
要设置工作表的上下文,请执行以下步骤:
登录 Snowsight。
选择 Projects » Worksheets 以打开工作表列表。
打开工作表。
打开上下文选择器。
选择用于运行工作表的角色。
选择该角色有权限使用的仓库。
选择下拉列表之外的任意位置以关闭上下文选择器。
备注
每个工作表都是一个唯一的会话,可以使用不同于您在 User 菜单中选择的角色(您的 活动角色)。更改活动角色不会更改使用上下文选择器分配给工作表的角色。
恢复仓库或调整仓库大小¶
在运行工作表之前或之后,您可能需要恢复仓库或调整仓库大小。
备注
您必须拥有仓库的 MODIFY 或 OWNERSHIP 权限才能更改仓库详细信息。
要使用上下文选择器查看或调整仓库详细信息,请执行以下步骤:
登录 Snowsight。
选择 Projects » Worksheets 以打开工作表列表。
打开工作表。
打开上下文选择器。
选择 Show warehouse details 图标。
对于 Status 选项,选择状态并在仓库暂停时选择 Resume。
对于 Size 选项,选择大小并选择不同的大小。
选择下拉列表之外的任意位置以关闭上下文选择器。
管理工作表¶
您可以通过工作表选项卡或 Worksheets explorer 管理 Snowsight 中的工作表。要访问工作表选项卡菜单,请打开工作表,将鼠标悬停在选项卡上,然后选择 。要访问 Worksheets explorer,请将鼠标悬停在工作表名称上,然后选择
。
每个菜单中可用的操作都基于您当前的角色。根据权限,您可以执行以下步骤:
重命名、删除或移动工作表(需要“编辑”或“所有权”权限)。
将工作表移入文件夹或仪表板,对工作表进行整理。
从外部文件导入 SQL。
设置查询的格式。
搜索其他工作表。
复制工作表(任意角色)。
小技巧
您可以将鼠标悬停在工作表上,预览其内容。
通过参考工作表图标,您可以确定哪些工作表在选项卡中打开。实心图标表示工作表目前处于打开状态。要访问菜单选项,请将鼠标悬停在工作表名称上,然后选择显示的省略号。
管理工作表历史记录和版本¶
您对工作表所做的任何本地编辑都会每三秒自动保存一次,但只有您自己能看到。当您运行 SQL 查询或在工作表中执行代码时,新版本就会更新并与所有协作者共享。您还可以查看工作表的过去版本,并可选择性复制任何版本的详细信息。有关更多信息,请参阅 切换工作表版本。
更改工作表和管理工作表版本时,请注意以下事项:
当您与其他用户共享工作表时,具有编辑权限的用户可以查看该工作表的过去版本。您与之共享工作表的所有用户都可以查看该工作表最新版本的结果,且最多可以查看 10,000 行。
每当有权限的人运行工作表时,就会保存该工作表的新版本。
如果您对工作表进行了更改,但这些更改似乎消失了,请使用版本历史记录来打开包含更改的已保存草稿。
最近运行的工作表版本是协作者可见的版本。
如果您对工作表进行了更改,并且希望与您共享该工作表的用户可以看到该更改,则必须运行该工作表。
如果多个用户同时编辑和运行共享工作表,则每次运行该工作表都会创建一个新版本。最近运行的工作表版本是您打开或刷新工作表时可见的版本。
切换工作表版本¶
要查看工作表的过去版本,请执行以下步骤:
登录 Snowsight。
选择 Projects » Worksheets 以打开工作表列表。
打开工作表。
选择工作表的 Code Versions。
从工作表版本列表中,选择要查看的版本的时间戳。
查看并选择性地复制该版本的工作表详细信息。
选择 Close 以返回工作表的当前版本。
如果要查看过去工作表运行的结果,请查看工作表的 Query History。请参阅 查看查询历史记录。
过去工作表版本的存储结果¶
备注
适用于大多数账户。美国政府区域内的账户、使用 Virtual Private Snowflake (VPS) 的账户,以及使用专用连接访问 Snowflake 的账户仍能看到限制为 10,000 行的查询结果。
在工作表中所执行查询的所有结果最长可保留 24 小时。24 小时后,必须再次运行查询才能查看结果。
为支持上下文统计和共享工作表结果,25 个新查询结果会缓存长达 90 天。此缓存包含在您账户的数据存储使用量中。
恢复已删除用户拥有的工作表¶
如果您删除某个用户,则最多可以恢复该用户拥有的 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 支持部门。
工作表的内部 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> 语句不返回这些内部对象。