Ash*_*iya -1 hadoop apache-spark google-cloud-platform
我来自本地/Hadoop 数据平台背景,现在想了解在 GCP 云技术上执行此操作的良好做法。
如图所示,我使用 HDFS/Hive 来存储所有 3 个层的数据:“Landing”、“Cleansed”和“Processed”。对于 ETL 过程,我使用了 Spark。这也支持不同的摄取模式:插入新记录、插入以及更新以前的数据。
对于“服务层”,我们使用了 Presto。此外,借助 DeltaLake 等新技术,可以保持几乎相同的架构,以统一的方式支持流处理和批处理。
在 GCP 上,我可以想到以下选项:
选项1:
选项 2:
我的问题:
有很多方法可以设计此解决方案,以下是我的建议:
数据湖:
按原样将数据从源系统加载到 BigQuery,因此数据库操作将只是 INSERT。
数据中心:
在这里,您可以维护 OLTP 结构,但实现缓慢变化的维度(Type-II)。
(A) 所有新交易的插入数据
(B) 退出交易的插入也只更新操作列,如 END_DATE & ACTIVE_FLAG。因此,您可以维护记录的历史记录。
数据分析:
在这里,您可以像 Data Hub 一样使用 SCD Type-II 构建维度建模,以最大限度地减少像 UPDATE 这样的大型 DML 操作
| 归档时间: |
|
| 查看次数: |
363 次 |
| 最近记录: |