将数据从 BigQuery and/or Cloud Storage GCS 读取到 Dataproc

read data from BigQuery and/or Cloud Storage GCS into Dataproc

我正在将数据从 BigQuery 读取到 dataproc spark 集群中。如果在我的例子中 BigQuery table 中的数据最初是从 GCS 加载的,那么最好将数据从 GCS 直接读取到 spark 集群中,因为 dataproc (newAPIHadoopRDD) 的 BigQuery 连接器将数据下载到 Google Cloud先储物桶?这两种方法有什么优缺点吗?

使用 BigQuery 连接器最适合您希望尽可能抽象出 GCS export/import 并且不想在 GCS 内部显式管理数据集的情况。

如果您已经在 GCS 中拥有数据集,最好直接使用 GCS 数据集以避免额外的导出步骤,并且能够直接使用更简单的文件系统接口。缺点是维护数据集的两份副本(一份在 GCS 中,一份在 BQ 中)并保持同步的成本更高。但是,如果大小不是限制性的并且数据更新不是太频繁,您可能会发现保留 GCS 数据集以便直接访问是最简单的。