如何向 GCP 中的 dataproc 集群添加 jar 依赖项?

2024-01-23

特别是,如何添加 Spark-bigquery-connector 以便可以从 dataproc 的 Jupyter Web 界面中查询数据?

关键链接: -https://github.com/GoogleCloudPlatform/spark-bigquery-connector https://github.com/GoogleCloudPlatform/spark-bigquery-connector

目标: 为了能够运行类似的东西:

s = spark.read.bigquery("transactions")

s = (s
    .where("quantity" >= 0)
    .groupBy(f.col('date'))
    .agg({'sales_amt':'sum'})
     )

df = s.toPandas()

基本上有两种方法可以实现你想要的:

1 创建集群时: 您必须创建一个初始化脚本(参数--initialization-actions)来安装依赖项。https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/init-actions https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/init-actions

2 创建集群时: 您可以指定创建集群时要使用的自定义映像。https://cloud.google.com/dataproc/docs/guides/dataproc-images https://cloud.google.com/dataproc/docs/guides/dataproc-images

3 在作业运行时: 您可以在运行作业时使用以下命令传递附加 jar 文件--jars范围:https://cloud.google.com/sdk/gcloud/reference/beta/dataproc/jobs/submit/pyspark#--jars https://cloud.google.com/sdk/gcloud/reference/beta/dataproc/jobs/submit/pyspark#--jars

如果您有一个简单的 .jar 依赖项要运行,例如 scoop.jar,我建议 (3)

如果您在运行作业之前需要安装大量软件包,我建议您使用 (1)。它给你更多的控制权。

选项(2)肯定会给你完全的控制权,但是你必须自己维护图像(应用补丁,升级等),所以除非你真的需要它,否则我不推荐它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向 GCP 中的 dataproc 集群添加 jar 依赖项? 的相关文章

随机推荐