Databricks 工作区

2025年1月30日 | 阅读 9 分钟

Databricks Azure 是一个开放的基于云的平台,可帮助组织分析、处理和结构化大型数据集,构建基于 AI 的模型并进行协作。因此,它允许企业在单个平台上使用多个数据服务。Databricks 旨在高效、轻松地大规模处理海量数据。该软件确保存储和云计算之间无缝连接,并提供严格的数据保护安全措施。

Databricks Workspace

自动化行政任务和启动必要的云基础设施将最终绕过许多需要更协同工作的团队。Azure 中的统一 Databricks 环境可以进行深度洞察和有意义的数据空间创建,公司可以利用它来以简单性为主要因素开发广泛的应用程序。

什么是 Azure Databricks 工作区?

Azure Databricks 工作区是一个理想的场所,用于管理和监督团队联合数据项目。它就像一个存储库,因为它的信息管理和代码组织系统可以很好地处理数据。所有这些都可以在支持笔记本和交互式编码环境创建的环境中实现,从而可以从编写代码过渡到运行和共享代码。就数据处理而言,如今的兴趣非常浓厚。数据科学和工程师的笔记本支持各种编程语言,以便协作,使任务更简单快捷。

具备所有这些功能的明显工作区包括版本控制、访问控制以及与 Azure 服务的集成。通过 Azure Databricks 用户友好和强大的功能作为基于云的平台,可以轻松集成大数据,从而简化分析和开发生命周期,让团队能够专注于从其数据中提取见解。除了 Databricks 笔记本之外,工作区文件(一种不属于 Databricks 笔记本的文件类型)是 Azure Databricks 工作区的基本组成部分。常见示例包括

Azure Databricks 中的工作区文件包含各种类型,例如

  1. 注册到客户特定模块的 .py 文件。
  2. .md 文件,包括 README.md 文档。
  3. .csv 或 MS Excel 小型数据文件。
  4. sentence.txt 文件用于处理基于文本的内容。
  5. .whl 包用于处理特定版本 Python 库的包依赖项。
  6. 该系统维护系统相关活动和事件的日志。
  7. 工作簿(以前称为“存储库中的文件”)是构成 Azure Databricks 起始点的基本组件。

识别常见术语

  1. 工作区:数据专家将拥有一个活跃的决策场所,他们将在其中进行和管理他们的项目。他们将共同解决他们必须面对的各种挑战。
  2. 集群:集群使所有用户都可以访问具有处理数据相关任务能力的虚拟计算资源。它为用户提供了随时指定其硬件配置的机会,以匹配其不断变化的负载需求。
  3. 工作区笔记本:笔记本是工作区的基本工具,它允许用户将文本、图像、代码和可视化文件捆绑在一起,以便他们可以分析和探索数据。
  4. 工作区作业:工作区作业按计划的时间间隔运行笔记本或代码,这是一项在数据工作流的各个步骤的运行中发挥关键作用的功能。
  5. 库:库允许用户导入和集成外部包和目录(例如 Python 库或 JAR),以向现有的 Databricks 集群添加功能并扩展工作区。
  6. Delta:Delta 是一种信息管理系统,它增加了数据湖的对版本设置的能力,以保持信息的良好状态和准确性。
  7. 运行时:运行时是为 Databricks 工作负载量身定制的运行时环境形式,以便它们能够快速高效地工作。
  8. 命令行界面:CLI 命令行界面 (CLI) 提供了与 Databricks 资源、集群、作业和笔记本进行远程交互的手段,CLI 界面确保了控制这些组件的效率尽可能高。

Databricks 工作区概述

基础设施即服务环境在 Azure Databricks 中提供了一个工作区,该工作区将各种数据源统一到一个强大的单一平台中。它提供了广泛的工具,支持高效的数据流、实现、存储、分发、分析工具、建模技术和变现解决方案——从传统的商业智能 (BI) 到最前沿的生成式 AI。

Azure Databricks 工作区的关键功能包括

  1. 数据处理是一项不太重要的任务,例如计划工作负载和数据管理(提取、转换、加载 - ETL)。
  2. 创建仪表板和可视化统计数据,这些信息用于做出决策。
  3. 执行操作和维护安全、治理、系统和灾难恢复。
  4. 探索、注释和挖掘数据以获取更多详细信息。
  5. 机器学习 (ML) 方法开发、ML 模型监控和部署。
  6. 在过程中采用生成式 AI 工具。

另一方面,Databricks 工作区对开源社区发展负有社会责任。它通过各种技术促进更新,包括

  • Delta Lake 和 Delta Sharing 的引入有助于更好地进行数据版本管理和共享。
  • MLflow 涉及 ML 模型生命周期的实现。
  • Apache Spark 和 Structured Streaming 用于大规模数据处理。
  • 通过 Redash 可视化和提取数据的能力。

Azure Databricks 工作区架构

事实上,这个 Azure Databricks 工作区提供了一个单一平台,包含了各种数据相关的工具,这在团队间的协作过程中展现了优势和便利性。

Azure Databricks 工作区架构错综复杂,能够轻松地协调多个工作团队的协作,同时管理后端服务。它为用户提供了除完成与数据相关的任务之外的任何额外活动的机会。尽管如此,值得注意的是,工作区架构可能因用户需求不同或个人部署而异,同时使用整个虚拟网络中的专用 Databricks 主机。

Azure Databricks 工作区架构包含两个主要组件

1. 控制平面

  1. 这是核心模块之一,负责管理 Databricks 账户的后端服务。
  2. 它包括存储命令、工作区设置和加密数据等操作。

2. 计算平面

  1. 这是实际进行数据处理的计算平面。
  2. 除了默认设置,Databricks 会从一组称为经典计算平面的 Azure 订阅池中为其客户分配计算资源。
  3. 这会导致您的 Azure 活跃订阅中的网络和资源。
  4. Azure Databricks 包括一个标准的计算平面,该平面提供笔记本、作业和一些 Databricks SQL 数据仓库类型的执行。

创建 Azure Databricks 工作区

要设置您的第一个联合 Databricks 数据中心,建议您使用 Azure 门户。但是,您也可以灵活地通过其他方法部署 Azure Databricks,例如:但是,您也可以灵活地通过其他方法部署 Azure Databricks,例如

  1. Azure CLI
  2. PowerShell
  3. ARM 模板
  4. Bicep

在继续之前,请确保您已授予所述权限。您需要拥有 Azure 贡献者或所有者权限集,或者 Microsoft.ManagedIdentity 资源提供程序必须是您的订阅的一部分。如果您需要注册 Microsoft.ManagedIdentity 资源,请使用具有执行/注册/操作操作权限的自定义角色。有关更多信息,请务必阅读 Azure 资源提供程序的文档。

Databricks 工作区的优点

  1. Azure Databricks 能够进行数据管理,简化数据工程师、数据科学家及其客户或员工之间的沟通。
  2. 可扩展的资源支持按需动态扩展——从而更好地优化性能和成本。
  3. 与 Blob Store 和 SQL 数据仓库等 Azure 服务的集成确保了便捷的连接。
  4. 由于高性能计算能力可以快速处理大型数据集,因此它加速了数据的学习曲线。
  5. 版本控制和可重复性等协作工作流功能带来了协作工作、明确的工作流程程序和工作步骤的完整性。
  6. 将 TensorFlow 和 PyTorch 等最苛刻任务所需的库集成到框架中,为全面的分析和机器学习任务提供了必要的基础。
  7. 基于角色的访问控制、数据加密和合规性认证稳定了信息保护和法规遵从性,使我们的平台尽可能安全。
  8. 按需付费和预留实例定价选项等成本优化功能,以及资源监控工具,对于设计资源使用成本优化至关重要,但它们主要取决于使用模式。
  9. 统一平台:Azure Databricks 展示了一个集成平台,可同时促进数据工程师、数据科学家和各种利益相关者之间的协作。这种协作提高了效率和生产力。
  10. 高级分析功能:云服务无需运行和租用软件,例如,学习到的分析库已内置于 Azure Databricks 中。因此,它们使组织能够提取有价值的信息,这些信息有助于制定数据驱动的决策。
  11. 增强的数据安全性:基于角色的访问控制、数据加密和合规性证书使数据安全等方面非常强大,从而实现高度可靠的数据处理方法,这反过来又增强了对数据处理实践的信心。
  12. 灵活性和可扩展性:Azure Databricks 提供按需容量和动态定价设置,您可以调整资源使用以满足所有业务需求并实现高效的成本管理。
  13. 与 Azure 服务集成:处理 Blob 存储和 SQL 数据仓库等其他 Azure 应用程序的简单性确保了数据的轻松传输,同时使系统与 Azure 技术集成。

Databricks 工作区的缺点

  1. 对于小型企业或特定项目来说,Azure Databricks 可能会变得昂贵,因为它是“按使用量付费”的付款计划。
  2. Azure Databricks 的管理可能很复杂,因为它需要同时了解 Azure 服务和 Databricks 的功能。
  3. 这种便利性的主要作用与 AWS 服务相关联,降低了那些仅限于 Azure 系统的用户的适应性和可移植性。
  4. 成本考虑:尽管 Azure Databricks 提供了强大的功能,但它可能会导致高成本,因为您可能需要按使用量付费。这可能会显著影响支出,特别是对于资金不足的小型企业或项目。
  5. 管理复杂性:此外,管理 Azure Databricks 并非易事,因为它需要熟悉 Azure 和 Databricks 的功能。当某些组织缺乏足够的技术技能并被迫花费金钱进行额外培训甚至创建新职位时,就会出现这种情况。
  6. 与非 Azure 服务集成有限:虽然该平台与一些 AWS 服务集成,但它们可能会因此限制该平台在 Azure 生态系统之外运行的用户的可移植性和灵活性。这不仅可能难以充分利用平台环境的全部潜力,还可能使与非 Azure 生态系统的互操作性变得困难。

结论

总而言之,Azure Databricks 已成为云计算领域的首选解决方案,拥有广泛的工具范围和功能,旨在满足此类企业的需求。正是其平台实现了数据工程师、数据科学家和所有其他利益相关者之间的数据自由交换,并使其数据处理和评估工作能够大规模高效地进行。该平台的可扩展资源和集成的 Azure 服务使公司能够适应不断变化的需求,并在有效管理成本的同时恢复效率。

该平台先进的分析功能,包括 TensorFlow 和 PyTorch 等流行训练库,可以支持决策制定并促进创新,通过提供来自组织数据的宝贵见解来以知情的方式推动决策制定。此外,基于角色的访问控制和数据加密等强大安全措施的可用性确保了材料的安全性和保真度,因此用户可以在数据处理方面充满信心。

尽管如此,在讨论 Azure Databricks 时,重要的是要记住可能存在的陷阱,例如价格问题、管理难度以及与非 Azure 服务不集成的现实。这些问题不仅表明需要战略规划、培训和持续工作来优化其效率和最小化问题,而且也为这种影响提供了充分的理由。

然而,上述复杂性确实使 Azure Databricks 成为那些打算充分发挥云中数据分析和机器学习潜力的组织的不可或缺的工具。通过其优势,组织可以实现卓越的竞争创新,并创造新的机会,从而在数据密集型时代取得成功。