我在gcp中安装了带有spark的vm映像集群hadoop,但它不是dataproc。我可以不使用dataproc安装spark bigquery连接器吗?如果是,我怎么做?我找到了下载连接器的链接https://github.com/googleclouddataproc/spark-bigquery-connector
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,如您所述:
--packages com.google.cloud.spark:spark-bigquery-with-dependencies_2.11:0.18.0
pyspark <params> --packages com.google.cloud.spark:spark-bigquery-with-dependencies_2.11:0.18.0
/usr/lib/spark/jars/
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()
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 . 此线程包含有关它的更多详细信息。
export CLASSPATH=</path/to/bigquery-connector.jar>:$CLASSPATH
HADOOP_CLASSPATH
2条答案
按热度按时间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,如您所述:
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
. 此线程包含有关它的更多详细信息。