【问题标题】:How to add jar dependency to dataproc cluster in GCP?如何将 jar 依赖项添加到 GCP 中的 dataproc 集群?
【发布时间】:2019-11-08 15:41:48
【问题描述】:

具体来说,如何添加 spark-bigquery-connector 以便我可以从 dataproc 的 Jupyter Web 界面中查询数据?

关键链接: - 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()

【问题讨论】:

标签: maven google-cloud-platform pyspark google-cloud-dataproc


【解决方案1】:

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

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

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

3 在作业运行时: 您可以在运行作业时使用 --jars 参数传递额外的 jar 文件: https://cloud.google.com/sdk/gcloud/reference/beta/dataproc/jobs/submit/pyspark#--jars

如果你有一个简单的 .jar 依赖项要运行,我推荐 (3),比如 scoop.jar

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

选项 (2) 绝对可以让您完全控制,但您必须自己维护映像(应用补丁、升级等),所以除非您真的需要,否则我不推荐。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多