什么是 Databricks SQL?

Databricks SQL 介绍了 Azure Databricks Lakehouse 平台中内置的企业数据仓库。 Databricks SQL 的核心产品/服务是被称为 SQL 仓库的优化计算。

Azure Databricks 提供一系列称为“SQL 角色”的 UI 工具,用于编写和执行 SQL 查询可视化效果仪表板

SQL 仓库为从许多环境(包括第三方 BI 和可视化工具)执行的 SQL 查询提供常规计算。 Databricks SQL 还提供功能强大的 API

注意

Databricks SQL不适用于 Azure 中国区域。

若要了解最新的 Databricks SQL 功能,请参阅 Databricks SQL 发行说明

Spark SQL 与 Databricks SQL

Databricks SQL 是优化的计算环境,而 Spark SQL 描述了 Apache Spark API 的集合。 Azure Databricks 提供了许多工具和技术,让 SQL 开发人员能够进行 ETL、分析、创建仪表板等工作。 Databricks 推荐使用 Databricks SQL 以获得企业数据仓库体验。

什么是 Spark SQL?

术语“Spark SQL”在技术上适用于使用 Spark 数据帧的所有操作。 Spark SQL 取代了 Spark 2.x 中的 Spark RDD API,引入了对 SQL 查询的支持以及适用于 Python、Scala、R 和 Java 的数据帧 API。

Azure Databricks 文档通常使用 Spark SQL 来描述 SQL 查询和功能。 针对 Databricks Runtime 计算运行的 SQL 查询与开放源代码 Apache Spark 的功能密切相关,有一些适用于 Delta Lake 和 Azure Databricks 专有功能的内置扩展协议。 可以使用 SQL 参考查看所有可用的函数,并了解执行上下文之间的差异。

Azure Databricks 和开放源代码 Apache Spark 上的 SQL 有何不同?

无论执行环境如何,Azure Databricks 上的 SQL 与在其他位置执行的 Apache Spark SQL 没有太大区别。 可以使用 Azure Databricks 上的 SQL 针对三个不同的计算选项执行常见查询和语句。 所有这些环境都新增了许多在开放源代码 Apache Spark 中不可用的命令,并预配置为运行与 Delta Lake 关联的所有 SQL 查询。

在启用了 Unity Catalog 的工作区中,还存在一些其他关键字和命令。 请注意,当针对 Unity Catalog 目录(而不是内置的 Hive 元存储)运行时,某些 SQL 命令的执行方式不同。

其中每个计算选项提供的语义和语法略有不同。 一般而言:

  • Databricks Runtime 上的 SQL 计算最接近于开放源代码 Apache Spark 中的执行。
  • 使用增量实时表执行的 SQL 通常从 Databricks Runtime 继承语法和语义,但会为增量实时表新增许多独占关键字和函数。
  • 在 SQL 仓库上运行的 SQL 最符合 ANSI 标准。 在 Databricks 笔记本中针对 Databricks Runtime 计算运行的 SQL 支持的许多功能都无法使用,包括 HiveQL 语法、变量声明和引用以及 DButils 小组件。

Databricks SQL 管理任务

如果要查找有关启用 Databricks SQL、管理用户和数据访问以及其他管理任务的信息,请参阅 Databricks SQL 管理