如何在vm gcp中安装spark bigquery连接器?

2g32fytz  于 2021-05-17  发布在  Spark
关注(0)|答案(2)|浏览(559)

我在gcp中安装了带有spark的vm映像集群hadoop,但它不是dataproc。我可以不使用dataproc安装spark bigquery连接器吗?如果是,我怎么做?我找到了下载连接器的链接https://github.com/googleclouddataproc/spark-bigquery-connector

qybjjes1

qybjjes11#

是的,您可以从github站点下载并安装到spark集群中。或者,您可以添加 --packages com.google.cloud.spark:spark-bigquery-with-dependencies_2.11:0.18.0 到spark命令(spark submit/pyspark/spark shell)。
编辑
选项很少:
运行spark应用程序时,请运行 pyspark <params> --packages com.google.cloud.spark:spark-bigquery-with-dependencies_2.11:0.18.0 . 运行spark submit或spark shell也是如此
从存储库下载jar并将其复制到 /usr/lib/spark/jars/ 目录。通常这是在集群可用后通过脚本完成的(使用init操作)。
在运行时下载jar,如您所述:

from pyspark.sql import SparkSession
spark = SparkSession.builder \
  .config("spark.jars.packages", "com.google.cloud.spark:spark-bigquery-with-dependencies_2.11:0.18.0") \
  .getOrCreate()
f1tvaqid

f1tvaqid2#

如果我理解正确,您的集群不是本地dataproc集群。您创建了一组示例(至少一个)并手动安装了hadoop集群。这个场景更像是在prem上安装hadoop(使用gcp基础设施);不幸的是,bigquery连接器文档没有指定它是否可以在dataproc之外使用,但是我认为应该这样做,因为连接器是一个jar文件。在下载和使用连接器一节中,您可以下载最新版本或其他版本,以防其中一个版本不起作用。
要在gcp vm示例中安装连接器,需要将其包含在应用程序的java类路径中:
将它包含在已经添加到java类路径中的spark目录中。或者您可以添加一个新条目(当您的会话在提示符中结束时,此更改将被清除): export CLASSPATH=</path/to/bigquery-connector.jar>:$CLASSPATH 在提交spark应用程序时使用--jars选项。
上面的选项将允许您在本地运行spark作业。要将作业提交到hadoop集群,应该确保连接器也包含在其类路径中,我建议使用 HADOOP_CLASSPATH . 此线程包含有关它的更多详细信息。

相关问题