将数据直接加载到 Google BigQuery 与首先通过 Cloud Storage 加载数据的优缺点是什么?

What are the pros and cons of loading data directly into Google BigQuery vs going through Cloud Storage first?

此外,直接在 BigQuery 中执行 transforms/joins 有什么问题吗?我想尽量减少我正在设置的数据仓库所涉及的组件和步骤的数量(零售连锁店的简单交易和库存数据。)

好吧,如果你通过 GCS,这意味着你没有流式传输你的数据,从文件加载到 BQ 是免费的,文件大小可达 5TB。有时这是优势,大文件功能和免费。 streamin 也是实时的,通过 GCS 意味着它不是实时的。

如果您想直接将数据流式传输到有成本的 BQ 表中。目前流媒体的价格是每 200 MB 0.01 美元(2018 年 6 月),因此 1TB 大约 50 美元。

另一方面,如果你能表达任务,SQL也可以完成转换。否则你有很多选择,人们大多数时候使用数据流来转换事物。有关高级示例,请参阅链接教程。

也看看
Cloud Dataprep - Data Preparation and Data Cleansing
Google Data Studio: Easily Build Custom Reports and Dashboards

又是进阶示例:

Performing ETL from a Relational Database into BigQuery

通过云存储加载数据是最快(也是最便宜)的方式。 可以通过应用程序直接加载(使用流式插入会增加一些额外费用)

对于正在进行的转换 - 如果您 plan/need 可以在 BigQuery 中完成 - 您应该在 BigQuery 中完成:) - 这是进行 ETL 的最佳和最快的方式。 但是您应该考虑 运行 查询的成本(如果您不为插槽支付 Google - 每 1TB 扫描可能需要 5 美元)

复杂 ETL 的另一个不错的选择是使用数据流——但它很快就会变得昂贵——以换取更大的灵活性。