22

我对 Spark + Delta 有很多疑问。 在此处输入图像描述

1)Databricks 提出了 3 层(青铜、白银、黄金),但推荐在哪一层用于机器学习,为什么?我想他们建议在黄金层中清理并准备好数据。

2)如果把这3层的概念抽象出来,青铜层是Data Lake,白银层是数据库,黄金层是数据仓库?我的意思是在功能方面,.

3) Delta 架构是商业术语,还是 Kappa 架构的演变,还是 Lambda 和 Kappa 架构的新趋势架构?(Delta + Lambda 架构)与 Kappa 架构之间有什么区别?

4) 在许多情况下,Delta + Spark 的规模比大多数数据库要大得多,而且通常要便宜得多,如果我们调整得当,我们可以获得快 2 倍的查询结果。我知道将实际趋势数据仓库与 Feature/Agg 数据存储进行比较非常复杂,但我想知道如何进行这种比较?

5)我曾经使用 Kafka、Kinesis 或 Event Hub 进行流式处理,我的问题是如果我们用 Delta Lake 表替换这些工具会发生什么样的问题(我已经知道一切都取决于很多事情,但我希望对此有一个大致的了解)。

4

2 回答 2

18

1) 由您的数据科学家决定。他们应该对在白银和黄金地区工作感到自在,一些更高级的数据科学家将希望返回原始数据并解析可能未包含在白银/黄金表中的其他信息。

2) 青铜级 = 原生格式/三角湖格式的原始数据。Silver = delta Lake 中经过消毒和清洁的数据。Gold = 通过 delta Lake 访问或推送到数据仓库的数据,具体取决于业务需求。

3) Delta 架构是 lambda 架构的简单版本。Delta 架构目前是一个商业术语,我们将看看未来是否会发生变化。

4) Delta Lake + Spark 是最具扩展性的数据存储机制,价格合理。欢迎您根据业务需求测试性能。Delta Lake 的存储成本将远低于任何数据仓库。您对数据访问和延迟的要求将是一个更大的问题。

5) Kafka、Kinesis 或 Eventhub 是从边缘获取数据到数据湖的来源。Delta Lake 可以充当流应用程序的源和汇。使用 delta 作为源实际上很少有问题。delta Lake 源依赖于 blob 存储,因此我们实际上解决了基础设施问题的许多问题,但添加了 blob 存储的一致性问题。Delta Lake 作为流式作业的来源比 kafka/kinesis/event hub 更具可扩展性,但您仍然需要这些工具将数据从边缘获取到 delta Lake。

于 2019-05-19T23:17:52.977 回答
3
  1. 奖章表是根据我们的客户如何使用 Delta Lake 提出的建议。您不必完全遵循它;但是,它确实与人们设计 EDW 的方式非常吻合。至于机器学习和使用哪个表。这将是从事机器学习的人们的选择。有些人可能想要访问青铜表,因为那是原始数据,没有对其进行任何处理。其他人可能想要 Silver 表,因为它被认为是干净的,尽管增加了。通常,Gold 表是高度精炼的,专门用于回答明确定义的业务问题。

  2. 不完全是。青铜表是原始事件数据,例如每个事件或测量一行等。白银表也在事件/测量级别,但它们经过高度精炼,可用于查询、报告、仪表板等。黄金表表可以是事实和维度表、聚合表或精选数据集。重要的是要记住,Delta 并不是要用作跨国 OLTP 系统。它确实适用于 OLAP 工作负载。

  3. Delta 架构是我们给 Delta Lake 的特定实现起的名字。它本身不是一个商业术语,但希望它成为一个商业术语。那里有足够的信息来比较和对比 Kappa 和 Lambda 架构。Delta 架构在 Delta 文档和 Databricks 博客、技术讲座、YouTube 视频等中得到了很好的定义。

  4. 我会问你到底想比较什么?速度、功能、产品……?

  5. Delta Lake 并没有试图取代任何消息传递发布/订阅系统,它们有不同的用例。Delta Lake 可以连接到您作为订阅者和发布者提到的每个产品。不要忘记 Delta Lake 是一个开放的存储层,它为数据湖带来了符合 ACID 的事务、高性能和高可靠性。

路易斯。

于 2020-07-14T12:49:23.880 回答