BigQuery:数据仓库的强大解决方案
1. ETL、EL 和 ELT 工作流
在处理数据仓库时,传统方法通常从提取、转换和加载(ETL)过程开始。在这个过程中,原始数据从其源位置被提取出来,经过转换后加载到数据仓库中。BigQuery 拥有高效的原生列式存储格式,使得 ETL 成为一种有吸引力的方法。
- ETL 流程 :数据管道通常使用 Apache Beam 或 Apache Spark 编写,从原始数据(流数据或批处理文件)中提取所需部分,对提取的数据进行清理或聚合等转换操作,最后将其加载到 BigQuery 中。也可以在 BigQuery 中纯 SQL 实现 ETL 流程,利用联邦查询功能,对存储在 Google Cloud Storage 中的 CSV、JSON 或 Avro 文件运行 SQL 查询来提取和转换数据,然后将结果物化到 BigQuery 本地表中。
- EL 流程 :如果不需要进行转换,BigQuery 可以直接将 CSV、JSON 或 Avro 等标准格式的数据摄入到其本地存储中,即提取和加载(EL)工作流。建议尽可能设计 EL 工作流,仅在需要转换时采用 ETL 工作流。如果转换可以用 SQL 实现,尽量在 BigQuery 内完成整个 ETL 管道;如果转换难以用 SQL 实现,或者需要将流数据实时加载到 BigQuery 中,可以使用 Cloud Dataflow 以无服务器方式执行 Apache Beam 管道。此外,使用 Beam/Dataflow 实现 ETL 管道的另一个优点是,它可以更好地与持续集成(CI)和单元测试系统集成。
- ELT 流程
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



