gpt4 book ai didi

databricks - Delta Lake 存储层 - 概念

转载 作者:行者123 更新时间:2023-12-04 17:17:28 25 4
gpt4 key购买 nike

我是 Databricks 的新手,有以下疑问 -
Databricks 提出了 3 层存储 Bronze(原始数据)、Silver(干净数据)和 Gold(聚合数据)。这些存储层要存储的内容很明确。但我怀疑这些是如何实际创建或识别的。从 Silver 或 Gold 检索数据时我们如何指定。这些是不同的数据库或不同的格式还是其他什么?
请帮助我弄清楚这个概念。

最佳答案

这些逻辑层:

  • Bronze 层存储未经修改的原始数据 - 最常见的更改通常只是更改数据格式,例如,将输入数据作为 CSV 并将数据存储为 Delta。拥有 Bronze 层的主要目标是确保您拥有原始数据,并且您可以在必要时重建 Silver & Gold 数据,例如,如果您在生成 Silver 层的代码中发现错误。 Bronze 层的必要性在很大程度上取决于数据的来源。例如,如果您的数据来自某个数据库,那么您可以期望那里的数据已经干净,在这种情况下,您可以将它们直接摄取到 Silver 层中。最终用户通常不会直接访问青铜层
  • Silver 层是通过应用一些转换、丰富和清理程序从 Bronze 创建的。例如,如果某列中的数据必须非空,或者在某个范围内,则可以添加类似bronze_df.filter("col1 is not null")的代码。并存储结果。如果您在转换中发现错误,或者需要添加额外的检查,则可以从 Bronze 重新生成 Silver 层。 Silver 层通常可供需要行级详细数据的最终用户访问
  • Gold 层通常是某种聚合数据,将用于报告、仪表板等。 Gold 层中可能有多个表,这些表由一个或多个 Silver 表生成。

  • Databricks 通常建议对所有这些层使用 Delta Lake,因为它更容易在层之间以增量方式处理数据,通常使用结构化流。但你不受此限制。我见过很多客户将 Gold 层的结果输出到 Azure SQL 数据库、NoSQL 数据库或其他东西中,从中它可以被只能在这些系统上工作的应用程序使用。

    关于databricks - Delta Lake 存储层 - 概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68330189/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com