Apache Spark 是 Azure Databricks 数据智能平台的核心,是支持计算群集和 SQL 仓库的技术。 Azure Databricks 是 Apache Spark 的优化平台,可为运行 Apache Spark 工作负载提供高效且简单的平台。
Apache Spark 与 Azure Databricks 的关系是什么?
Databricks 公司是由 Apache Spark 的原始创建者创立的。 作为开源软件项目,Apache Spark 具有来自许多顶级公司的贡献者,包括 Databricks。
Databricks 继续开发和发布 Apache Spark 的功能。 支持 Azure Databricks 的 Databricks 运行时包括构建和扩展 Apache Spark 的其他优化和专有功能,包括 Photon,这是可与 Spark 结合使用的优化执行层。 Databricks Photon 旨在处理和改进 Apache Spark 工作负载的性能。 Photon 通过向量化查询和其他作来增强 Spark 的性能,从而加快 SQL 和数据帧 API作的执行速度。
Databricks 如何针对 Apache Spark 进行优化?
在 Apache Spark 中,所有操作都定义为转换或动作。
- 转换:向计划添加一些处理逻辑。 示例包括读取数据、连接、聚合和类型转换。
- 操作:触发处理逻辑以评估和输出结果。 示例包括写入、显示或预览结果、手动缓存或获取行计数。
Apache Spark 使用 延迟执行 模型,这意味着在触发动作之前,不会计算由操作集合定义的逻辑。 为了避免不必要的逻辑评估,只使用操作将结果保存回目标表。
由于操作代表优化逻辑的处理瓶颈,因此 Azure Databricks 在 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 使用 Photon ,但最终用户可以使用 Spark SQL 语法通过 Photon 创建和查询数据库对象。
用于机器学习的 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 数据帧教程逐步讲解在 Python、R 或 Scala 中加载和转换数据。 请参阅教程:使用 Apache Spark 数据帧加载和转换数据。 有关其他指南和其他信息的链接,请参阅 Azure Databricks 上的 Apache Spark。
有关 Spark 中的 Python、R 和 Scala 语言支持的其他信息,请参阅适用于 Scala 开发人员 的 Azure Databricks、 sparklyr 和 Azure Databricks 上的 PySpark,以及 Apache Spark API 参考。