Azure Databricks 上的 Apache Spark

Apache Spark 是 Azure Databricks 数据智能平台的核心,是支持计算群集和 SQL 仓库的技术。 Azure Databricks 是用于 Apache Spark 的已优化平台,为运行 Apache Spark 工作负载提供高效且简单的平台。

Databricks 如何针对 Apache Spark 进行优化?

在 Apache Spark 中,所有操作都定义为转换或动作。

  • 转换:向计划添加一些处理逻辑。 示例包括读取数据、联接、聚合和类型转换。
  • 操作:触发处理逻辑来评估和输出结果。 示例包括写入、显示或预览结果、手动缓存或获取行计数。

Apache Spark 使用延迟执行模型,这意味着在触发操作之前,不会计算由操作集合定义的逻辑。 为避免不必要的逻辑评估,请仅使用操作将结果保存回目标表。

由于操作代表逻辑优化的处理瓶颈,Azure Databricks 在 Apache Spark 已有优化的基础上添加了许多优化,以确保最佳的逻辑执行。 这些优化将考虑由给定操作同时触发的所有转换,并根据数据的物理布局查找最佳计划。 手动缓存数据或返回生产管道中的预览结果可能会中断这些优化,并导致成本和延迟增加。

Apache Spark 与 Azure Databricks 之间有什么关系?

Databricks 公司由 Apache Spark 的原始创建者创立。 作为一个开源软件项目,Apache Spark 拥有来自许多顶级公司(包括 Databricks)的贡献者

Databricks 持续开发和发布 Apache Spark 的功能。 Databricks Runtime 包含基于 Apache Spark 构建的,但同时又扩展了 Apache Spark 的附加优化和专有功能,其中包括 Photon,它是以 C++ 重新编写的优化版 Apache Spark。

Apache Spark 在 Azure Databricks 上如何工作?

当你在 Azure Databricks 上部署计算群集或 SQL 仓库时,系统会配置 Apache Spark 并将其部署到虚拟机。 你无需考配置或初始化 Spark 上下文或 Spark 会话,因为 Azure Databricks 会为你处理这些事情。

是否可以在不使用 Apache Spark 的情况下使用 Azure Databricks?

Azure Databricks 支持各种工作负载,并在 Databricks Runtime 中包含开源库。 Databricks SQL 在幕后使用 Apache Spark,但最终用户使用标准 SQL 语法来创建和查询数据库对象。

用于机器学习的 Databricks Runtime 已针对 ML 工作负载进行优化,许多数据科学家在使用 Azure Databricks 时都会使用 TensorFlow 和 SciKit Learn 等主要开源库。 可以使用作业针对 Azure Databricks 部署和管理的计算资源计划任意工作负荷。

为何在 Azure Databricks 上使用 Apache Spark?

Databricks 平台提供一个安全的协作环境用于开发和部署可根据业务需求缩放的企业解决方案。 Databricks 员工包括许多世界上知识最渊博的 Apache Spark 维护人员和用户。 该公司不断开发和发布新的优化,以确保用户能够访问运行 Apache Spark 的最快环境。

如何了解有关在 Azure Databricks 上使用 Apache Spark 的详细信息?

要开始使用 Azure Databricks 上的 Apache Spark,请深入学习! Apache Spark DataFrame 教程将逐步讲解如何在 Python、R 或 Scala 中加载和转换数据。 请参阅教程:使用 Apache Spark 数据帧加载和转换数据

有关 Spark 中的 Python、R 和 Scala 语言支持的其他信息,请参阅适用于 Scala 开发人员 的 Azure DatabrickssparklyrAzure Databricks 上的 PySpark,以及 Apache Spark API 参考