启用无服务器SQL仓库

预览

无服务器SQL仓库在公共预览

使用Databricks平台架构的无服务器计算版本,计算层存在于Databricks云订阅中,而不是客户的云bob体育客户端下载订阅中。无服务器计算支持使用Databricks SQL。管理员可以创建启用即时计算的无服务器SQL仓库,并由Databricks管理。无服务器SQL仓库使用Databricks AWS帐户中的计算集群。在Databricks SQL查询中使用无服务器SQL仓库,与使用原始的客户托管SQL仓库(现在称为经典SQL仓库)的方式相同。

如果为您的工作空间启用了无服务器SQL仓库:

此特性仅影响Databricks SQL。它不会影响Databricks Runtime集群在Data Science & Engineering或Databricks Machine Learning工作空间环境中与笔记本和作业一起工作的方式。

无服务器SQL仓库可以公网IP地址。有关更多体系结构信息,请参见Serverless计算

在创建之前无服务器SQL仓库,你的机构必须执行以下几项主要任务:

任务

谁能做到这一步?

这是在哪里做的?

启用Serverless计算为你着想。

帐户所有者或帐户管理员。

帐户控制台的设置页面。

为无服务器SQL仓库启用一个或多个工作区。

工作空间管理员

SQL管理控制台的设置页面。

如果您的工作空间使用Databricks SQL的实例配置文件,您可能需要更新其角色以添加信任关系。

工作区管理员(确认您的工作区为Databricks SQL使用哪个实例概要)和具有查看和更改AWS IAM策略(检查角色的信任关系策略或进行任何必要更改)权限的AWS管理员。

工作区的Databricks SQL设置页面和AWS控制台。

本文描述了如何执行这些步骤。如果您无法执行所有这些角色(例如,您是工作空间管理员,但不是帐户管理员,或者您没有访问AWS IAM角色的权限),您可能需要联系组织中的其他人来执行某些步骤。

Databricks将名称从SQL端点更改为SQL仓库,因为在行业中,端点既指与所连接的网络通信的远程计算设备,也指云服务的入口点。数据仓库是一种数据管理系统,它以业务友好的方式存储来自多个来源的当前和历史数据,以便更容易地进行洞察和报告。SQL仓库准确地描述了这个计算资源的全部功能。

需求

还要注意数据库关于集群大小、实例类型和CPU配额的文档仅适用于专业和经典SQL仓库,不适用于无服务器SQL仓库。

还要注意数据库关于集群大小、实例类型和CPU配额的文档仅适用于专业和经典SQL仓库,不适用于无服务器SQL仓库。

步骤1:为您的帐户启用无服务器计算

在工作区级别启用无服务器SQL仓库之前,组织的所有者或帐户管理员必须启用无服务器计算。这是一次性的步骤。

请注意

如果您不是帐户所有者或帐户管理员,则不能执行该步骤。在继续本文的后续步骤之前,请与帐户所有者或帐户管理员联系。

  1. 作为帐户所有者或帐户管理员,请转到特性启用选项卡帐户控制台的“设置”页。

  2. 旁边启用无服务器计算,点击蓝色按钮启用

    帐户控制台中的功能启用选项卡

    如果蓝色按钮没有出现,但有文字说启用,此步骤已完成。继续步骤2:为工作区启用无服务器SQL仓库

    已经启用
  3. 弹出窗口显示同意适用的使用条款。单击链接,在新的浏览器选项卡中打开适用的条款。完成后,返回到原始选项卡并单击启用按钮在弹出窗口。

    帐户控制台中的功能启用选项卡

步骤2:为工作区启用无服务器SQL仓库

  1. 作为Databricks工作区管理员,转到Databricks SQL中的SQL管理控制台。

    请注意

    如果您不是工作空间管理员,则不能执行此步骤。联系工作区管理员,请求他们启用无服务器SQL仓库。

    如果您在数据科学与工程或Databricks机器学习工作空间环境中,则可能需要选择SQL从侧边栏。点击Databricks logo下面的图标。

    SQL的角色

    进入Databricks SQL后,单击Databricks工作区顶部栏中的用户名并选择SQL管理控制台

    如果你没有看到SQL管理控制台菜单项,则您的用户帐户不是此工作区的管理员帐户。

  2. 在SQL管理控制台中,单击SQL仓库设置选项卡。

    SQL仓库设置选项卡
  3. 选择无服务器SQL仓库

    启用无服务器计算

    如果你没有看到无服务器SQL仓库选择:

    • 很可能您的帐户所有者或帐户管理员尚未接受帐户的使用条款。看到步骤1:为您的帐户启用无服务器计算

    • 可能您的帐户有限制,无法启用此功能,例如它不在平台的E2版本上,您的帐户仍处于免费试用阶段,或者工作区使用bob体育客户端下载遵从性安全配置文件.看到需求.如果您有任何问题,请联系Databricks代表。

  4. 向下滚动到页面底部并单击保存更改

    重要的

    点击保存更改在导航到另一个页面之前,否则更改将不会生效。

步骤3:确认或设置用于无服务器SQL仓库的AWS实例配置文件

实例概要文件是IAM角色的容器,您可以使用它在实例启动时将角色信息传递给EC2实例。你可以选择配置AWS实例配置文件用于Databricks SQL连接到AWS S3桶而不是根桶。

如果已经在Databricks SQL中使用实例概要,则与该实例概要关联的角色需要Databricks无服务器计算信任关系语句,以便无服务器SQL仓库可以使用它。

根据创建实例概要文件的方式和时间,您可能不需要修改角色,因为它可能已经具有信任关系。如果实例概要文件是在2022年6月24日之后作为AWS快速开始的一部分Databricks工作空间创建的一部分创建的,那么您的实例概要文件的角色已经有了此更改。类似地,如果组织中的任何人使用Databricks关于创建实例概要文件的文章2022年6月24日之后,它可能已经有了这份信任关系声明。

介绍操作步骤确认或更新与实例概要文件关联的角色具有信任关系声明。这使您的无服务器SQL仓库可以使用该角色访问S3桶。

重要的

要执行这些步骤,您必须同时是Databricks工作空间管理员(确认您的工作空间为Databricks SQL使用哪个实例概要)和AWS帐户管理员(检查角色的信任关系策略或进行任何必要的更改)。

  1. 如果您执行了上一节中的步骤,因此还没有查看SQL管理控制台设置页面,那么现在就导航到该页面。

    1. 作为Databricks工作区管理员,转到Databricks SQL中的SQL管理控制台。如果您在数据科学与工程或Databricks机器学习工作空间环境中,则可能需要选择SQL从侧边栏。点击Databricks logo下面的图标。

      1. 进入Databricks SQL后,单击用户设置图标设置在侧边栏底部,并选择SQL管理控制台

        SQL管理控制台
    2. 在SQL管理控制台中,单击SQL仓库设置选项卡。

      SQL仓库设置选项卡
  2. 看一下数据安全部分实例配置文件字段。确认您的工作空间是否配置为使用Databricks SQL的AWS实例配置文件连接到根桶以外的AWS S3桶。

    • 如果您正在使用实例概要文件,则其名称将在实例配置文件字段。为下一步做好记录。

      实例配置文件选择器
    • 如果字段值为没有一个,你没有使用实例配置文件访问工作区根桶以外的S3桶。安装完成。跳到步骤4。

      实例配置文件选择器无
  3. 确认您的实例概要名称是否与关联的角色名称匹配。

    1. 在AWS控制台中,转到IAM服务的角色页签.它列出了您帐户中的所有IAM角色。

    2. 中的Databricks SQL admin设置中,单击名称与实例概要名称匹配的角色数据安全部分实例配置文件字段,您在本节前面找到的。

    3. 在摘要区域中,找到的角色是而且实例配置文件arn字段。

    4. 检查这两个字段的最后一部分在最后的斜杠之后是否有匹配的名称。例如:

    实例配置文件名称和角色arn名称匹配吗
  4. 如果在上一步中确定角色名(角色ARN中最后一个斜杠后的文本)和实例概要名称(实例概要ARN中最后一个斜杠后的文本)不匹配,编辑实例概要注册指定您的IAM角色ARN。

    1. 要编辑实例配置文件,请参阅下面的实例配置文件字段,并单击配置按钮。

    2. 单击实例概要文件的名称。

    3. 点击编辑

      编辑实例配置文件角色ARN
    4. 在可选选项中的角色是字段,粘贴角色ARN与您的实例配置文件关联的角色。这是允许实例概要使用Databricks SQL Serverless的关键步骤,即使角色名称与实例概要名称不匹配。

    5. 点击保存

  5. 在AWS控制台中,确认或编辑信任关系。

    1. 在AWS控制台IAM服务的角色页签,单击要修改的实例概要文件角色。

    2. 单击信任关系选项卡。

    3. 查看已有的信任策略。如果策略已经包含下面的JSON块,则此步骤已在较早的时间完成,您可以忽略以下指示。

    4. 点击编辑信任策略

    5. 在现有的声明数组,将以下JSON块附加到现有信任策略的末尾。确保您不会覆盖现有的策略。

      “效应”“允许”“校长”“AWS”“攻击:aws:我::790110701330:角色/ serverless-customer-resource-role”},“行动”“sts: AssumeRole”“条件”“StringEquals”“sts: ExternalId”“databricks-serverless——< YOUR_WORKSPACE_ID1 >”“databricks-serverless——< YOUR_WORKSPACE_ID2 >”

      在语句中惟一需要更改的是工作区ID。取代YOUR_WORKSPACE-ID一个或多个数据库工作空间id对于将使用此角色的工作区。要在使用工作区时获得工作区ID,请检查URL。例如,在https:// < databricks-instance > / ? o = 6280049833385130,后面的数字o =是工作区ID。

      编辑策略的主体。的本金。AWS字段必须继续有值攻击:aws:我::790110701330:/ serverless-customer-resource-role角色.引用Databricks管理的无服务器计算角色。

    6. 点击审查政策

    7. 点击保存更改

重要的

如果稍后更改实例概要文件,请重复这些步骤,以确保实例概要文件角色的信任关系包含所需的额外语句。

步骤4:测试无服务器SQL仓库的使用情况

  1. 创建或转换仓库:

  2. 运行查询使用新的无服务器SQL仓库。

故障排除

如果您的信任关系配置错误,集群将失败,并显示“创建集群的请求失败,异常INVALID_PARAMETER_VALUE: IAM role 不具有所需的信任关系”的消息。

信任关系破裂

如果您得到这个错误,可能是工作区id不正确,也可能是信任策略没有在正确的角色上正确更新。

请仔细执行下面的步骤步骤3:确认或设置用于无服务器SQL仓库的AWS实例配置文件更新信任关系。

为无服务器SQL仓库配置Glue metastore

如果需要指定AWS Glue亚存储或添加其他数据源配置,请更新数据访问配置字段中的SQL管理控制台中。看到数据访问配置

重要的

无服务器SQL仓库支持默认的Databricks metastore和AWS Glue作为metastore,但不支持外部Hive metastore。