尤其是如何添加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()
答案 0 :(得分:2)
基本上有两种方法可以实现您想要的:
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
我建议(3)如果您要运行一个简单的.jar依赖项,例如scoop.jar
我建议(1)如果您有很多要在运行作业之前安装的软件包。它给您更多的控制权。
选项(2)绝对可以完全控制您,但是您必须自己维护映像(应用补丁,升级等),因此除非您确实需要,否则我不建议这样做。