1)Databricks建议使用3层(青铜,银,金),但是建议在机器学习中使用哪一层?为什么?我想他们建议在黄金层中准备好干净的数据。
2)如果我们抽象这三层的概念,我们是否可以将青铜层视为数据湖,将银层视为数据库,将金层视为数据仓库?我的意思是功能。
3)三角洲建筑是一个商业术语,或者是Kappa建筑的演变,还是Lambda和Kappa建筑的新趋势建筑? (Delta + Lambda建筑)与Kappa建筑之间有什么区别?
4)在许多情况下,Delta + Spark的扩展规模通常比大多数数据库要大得多,而且通常便宜得多,而且如果我们进行正确的调整,我们可以获得的查询结果快将近两倍。我知道比较实际趋势数据仓库与Feature / Agg数据存储非常复杂,但是我想知道如何进行此比较?
5)我曾经使用Kafka,Kinesis或Event Hub进行流处理,我的问题是,如果我们用Delta Lake表替换这些工具,会发生什么问题(我已经知道,一切都取决于很多事情,但我希望对此有一个大致的了解。)
答案 0 :(得分:2)
1)交给您的数据科学家。他们应该在银和金区域工作很自在,一些更高级的数据科学家将希望返回原始数据并解析出可能未包含在银/金表中的其他信息。
2)青铜=原始格式/三角洲湖泊格式的原始数据。银=三角洲湖泊中经过消毒处理的数据。黄金=根据业务需求,可以通过三角洲湖泊访问或推送到数据仓库的数据。
3)Delta体系结构是lambda体系结构的简单版本。目前,Delta架构是一个商业术语,我们将在未来看到它是否会发生变化。
4)Delta Lake + Spark是价格合理的最具扩展性的数据存储机制。欢迎您根据业务需求测试性能。 Delta Lake将比任何用于存储的数据仓库便宜得多。您对数据访问和延迟的要求将是一个更大的问题。
5)Kafka,Kinesis或Eventhub是从边缘到数据湖获取数据的来源。 Delta Lake可以充当流应用程序的源和下沉。使用增量作为源实际上几乎没有问题。三角洲湖泊源生活在Blob存储上,因此我们实际上解决了基础结构问题的许多问题,但增加了Blob存储的一致性问题。与卡夫卡/运动/事件中心相比,Delta Lake作为流作业的来源具有更大的可扩展性,但是您仍然需要那些工具才能将数据从边缘获取到Delta Lake。
答案 1 :(得分:2)
基于我们的客户使用Delta Lake的方式,推荐奖杯表。您不必完全遵循它。但是,它确实与人们设计EDW的方式非常吻合。至于机器学习和使用哪个表。这将是从事机器学习的人们的选择。有些人可能想要访问Bronze表,因为那是原始数据,对此没有做任何事情。其他人可能想要Silver表,因为假定它是干净的,尽管有所增加。通常,Gold表是经过高度改进的,专门用于回答定义明确的业务问题。
不完全是。青铜表是原始事件数据,例如每个事件或度量等一行,等等。Silver表也处于事件/度量级别,但是它们经过了高度完善,可以用于查询,报告,仪表板等。Gold表可以是事实和维表,汇总表,或精选数据集。重要的是要记住,Delta并不是要用作跨国公司的OLTP系统。它确实适用于OLAP工作负载。
Delta体系结构是我们专门为Delta Lake实现的名称。它本身不是商业术语,但希望它成为一个术语。有足够的信息可以比较和对比Kappa和Lambda体系结构。整个Delta文档和Databricks博客,技术讲座,YouTube视频等都对Delta架构进行了很好的定义。
我想问的是您要比较的是什么?速度,功能,产品……?
Delta Lake并未尝试替换任何消息发布/订阅系统,它们具有不同的用例。 Delta Lake可以作为订阅者和发布者连接到您提到的每种产品。不要忘记,Delta Lake是一个开放存储层,可为数据湖带来符合ACID的事务,高性能和高可靠性。
路易。