繁体   English   中英

将数据从 Google BigQuery 加载到 Spark(在 Databricks 上)

[英]Loading Data from Google BigQuery into Spark (on Databricks)

我想从Google BigQuery将数据加载到Spark (在Databricks 上)。 我注意到 Databricks 为 Amazon S3 提供了很多支持,但没有为 Google 提供支持。

从 Google BigQuery 将数据加载到 Spark(在 Databricks 上)的最佳方法是什么? BigQuery 连接器是否允许我执行此操作,还是仅对托管在 Google Cloud 存储上的文件有效?

BigQuery 连接器是一个使用公共 BigQuery API 的客户端库:它运行 BigQuery 导出作业到 Google Cloud Storage,并利用文件创建顺序提前启动 Hadoop 处理以提高整体吞吐量。

此代码应该适用于您碰巧找到 Hadoop 集群的任何地方。

也就是说,如果您正在运行大量数据,那么您可能会发现网络带宽吞吐量是一个问题(您与 Google 的网络连接有多好?),并且由于您正在从 Google 的网络读取数据,因此 GCS网络出口成本将应用。

Databricks 现在已经在此处记录了如何通过 Spark 使用 Google BigQuery

在集群设置中设置 spark 配置:

credentials <base64-keys>

spark.hadoop.google.cloud.auth.service.account.enable true
spark.hadoop.fs.gs.auth.service.account.email <client_email>
spark.hadoop.fs.gs.project.id <project_id>
spark.hadoop.fs.gs.auth.service.account.private.key <private_key>
spark.hadoop.fs.gs.auth.service.account.private.key.id <private_key_id>

在 pyspark 中使用:

df = spark.read.format("bigquery") \
  .option("table", table) \
  .option("project", <project-id>) \
  .option("parentProject", <parent-project-id>) \
  .load()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM