pyspark Dataproc的BigQuery扫描成本

ffvjumwh  于 2024-01-06  发布在  Spark
关注(0)|答案(1)|浏览(135)

我正在为我的业务实现一个数据转换,涉及从BigQuery中的一个大表(~20 TB)和其他几个较小的表(<100 MB)中获取数据。我可能会获取整个表或默认的日期分区。有一系列转换,如Joining,Filtering,Aggregation,下面是Union。Dataproc的性能令人印象深刻,因为它与BigQuery相当,在某些情况下比BigQuery更快。我使用了6个类型为n2-standard-16的工作节点和每个200 GB的 Boot 磁盘。
我的问题是-使用Spark BigQuery连接器从BigQuery获取Dataproc中的数据是否会导致插槽使用或BigQuery端的任何类型的成本影响?我特别关心PySpark作业中的大表。
我试着在网上寻找提到Dataproc的BigQuery使用成本的文档,但没有找到任何。任何参考URL或“从Dataproc的Angular 看BigQuery扫描成本”的详细解释都将非常感谢。

uurv41yg

uurv41yg1#

如果您使用的是Spark BigQuery连接器,则定价注意事项将在本文档中描述。
我的理解是
1.对于从BigQuery进行阅读,用户只需支付BigQuery存储读取API调用的费用,请参阅BQ连接器文档和BigQuery存储读取API定价。
1.用于写入BigQuery
2.1)在基于BigQuery Storage Write API的直接写入模式(推荐)下,用户只需为API调用付费,请参阅BigQuery Storage Write API定价。
2.2)在基于临时GCS文件的间接直接写入模式(传统)中,用户只需支付临时GCS存储的费用,请参阅此doc中的定价。
除了上面提到的BigQuery或GCS成本之外,Dataproc不收取额外费用。
顺便说一句,我注意到的另一件事是工作 Boot 磁盘大小200 GB太小。PD I/O吞吐量与大小成正比,请参阅此文档,因此小磁盘可能会导致更长的作业持续时间和更高的总成本,因为CPU成本更高。对于标准PD,建议大小至少为1 TB,或使用本地SSD,请参阅此文档。

相关问题