在不使用Dataproc的情况下将GCP与PySpark连接

时间:2019-10-31 15:54:19

标签: python apache-spark google-cloud-platform pyspark google-bigquery

我正在尝试不使用Dataproc(房子中的自行托管Spark)而将GCP(Google大查询)与Spark(使用pyspark)连接,如Google官方文档中所述,它仅适用于Dataproc https://cloud.google.com/dataproc/docs/tutorials/bigquery-connector-spark-example吗?有什么建议吗?注意:我在Docker上的Spark&Hadoop设置。谢谢

2 个答案:

答案 0 :(得分:0)

请查看project page on GitHub-详细介绍如何从代码中引用GCP凭据。

简而言之,您应该运行

spark.read.format("bigquery").option("credentialsFile", "</path/to/key/file>").option("table", "<table>").load()

如果需要,请参考here关于如何创建json凭证文件。

答案 1 :(得分:0)

BigQuery连接器在jar文件中以spark-bigquery-connector的形式提供,并且是公开可用的。然后您可以:

  • 将其添加到内部部署/自托管群集的类路径中,以便您的应用程序可以访问BigQuery API。
  • 仅将连接器添加到您的Spark应用程序中,例如使用--jars选项。与此相关,还有其他一些可能会影响您的应用的可能性,要了解更多信息,请检查Add jars to a Spark Job - spark-submit

将jar添加到类路径后,您可以检查two bigquery connector examples,其中之一已经由@David Rabinowitz提供