使用 jupyter notebook 将包添加到 pyspark
adding packages to pyspark using jupyter notebook
我能够 运行 jupyter 与 pyspark 成功使用 https://cloud.google.com/dataproc/tutorials/jupyter-notebook
我的问题是 - 如果我必须将包添加到 pyspark(如 spark-csv 或 graphframes)并通过笔记本使用它们,应遵循的最佳做法是什么?
我可以使用 --packages 选项将包添加到新的 pyspark 作业中,但如何将新的 pyspark 上下文连接到笔记本?
为了让笔记本正常工作,您真的希望笔记本设置能够自己选择正确的包。由于您链接的初始化操作可确保 Jupyter 将使用集群的已配置 Spark 目录,从而获取所有必要的 YARN/filesystem/lib 配置,因此最好的方法是在 cluster- 添加 属性创建时间而不是作业提交时间:
gcloud dataproc clusters create \
--properties spark:spark.jars.packages=com.databricks:spark-csv_2.11:1.2.0
Per ,设置 spark-defaults.conf
属性 spark.jars.packages
与指定 --packages
选项更便携,因为 --packages
只是 spark-shell/spark-submit/pyspark 包装器中的语法糖,无论如何设置 spark.jars.packages
配置条目。
我能够 运行 jupyter 与 pyspark 成功使用 https://cloud.google.com/dataproc/tutorials/jupyter-notebook
我的问题是 - 如果我必须将包添加到 pyspark(如 spark-csv 或 graphframes)并通过笔记本使用它们,应遵循的最佳做法是什么? 我可以使用 --packages 选项将包添加到新的 pyspark 作业中,但如何将新的 pyspark 上下文连接到笔记本?
为了让笔记本正常工作,您真的希望笔记本设置能够自己选择正确的包。由于您链接的初始化操作可确保 Jupyter 将使用集群的已配置 Spark 目录,从而获取所有必要的 YARN/filesystem/lib 配置,因此最好的方法是在 cluster- 添加 属性创建时间而不是作业提交时间:
gcloud dataproc clusters create \
--properties spark:spark.jars.packages=com.databricks:spark-csv_2.11:1.2.0
Per spark-defaults.conf
属性 spark.jars.packages
与指定 --packages
选项更便携,因为 --packages
只是 spark-shell/spark-submit/pyspark 包装器中的语法糖,无论如何设置 spark.jars.packages
配置条目。