如何在远程 Spark 集群上 运行 本地 Python 脚本?

How do I run a local Python script on a remote Spark cluster?

我在 Jupyter 笔记本中有一个本地 Python 脚本 运行,它在我机器上的本地 Spark 集群 运行 上运行作业:

sc = pyspark.SparkContext(appName="test")
sqlCtx = pyspark.SQLContext(sc)

如何将其更改为连接字符串以改为在 AWS 中的 EMR Spark 集群上运行作业?

这是可能的还是我必须在 SSH 进入远程集群时使用 spark-submit 功能?

您必须使用 spark-submit。我不相信您可以将本地脚本连接到 EMR 集群,因为您的主节点需要是本地的。

这是一个类似的 post,可能会有帮助:How to connect to Spark EMR from the locally running Spark Shell 但是,如果您希望重复使用代码,将 Spark 作业添加为 EMR 步骤只是提交代码的另一种方式。

如果您的目标是在 EMR 集群上使用 Jupyter notebook,请参阅此处。 https://aws.amazon.com/blogs/big-data/running-jupyter-notebook-and-jupyterhub-on-amazon-emr/

如果您想使用 Jupyter notebook 并希望运行您的代码在远程 EMR 集群上,您也可以使用 EMR notebook。

这里有更多信息:https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html