【发布时间】:2019-10-24 13:55:56
【问题描述】:
我正在努力将 EMR 核心节点上的本地文件加载到 Spark 并运行 Jupyter 笔记本。我不断从任务节点收到错误消息,说该文件不存在,但我尝试将spark 配置设置为local,所以我不确定如何解决这个问题。当我启动一个 1 节点集群时,以下工作有效,但当我有比这更大的集群时失败:
spark = SparkSession.builder \
.master("local") \
.appName("Test") \
df = spark.read.csv('/home/hadoop/dataset.csv')
df.show(n=5)
我已尝试重新启动 Jupyter 笔记本内核,但这并没有解决任何问题。所以我想知道如何将本地文件广播/共享到整个集群,或者创建一个有效的SparkSession 实例。我也在使用新的 AWS JupyterHub,如果这有什么不同的话
【问题讨论】:
-
您是否尝试通过
spark-submit --files /home/hadoop/dataset.csv ...选项将其分发给执行者?此外,在尝试读取时使用"file:///home/hadoop/dataset.csv"以指示本地文件系统。 -
hmm 所以如果我使用
spark-submit命令并将代码放在 python 文件中,这将有效。但我仍然无法在 Jupyter 笔记本上使用它。诚然,我对自己能做什么感到困惑。 -
你可以在本地读取文件(通过pandas?),然后从那里读取
createDataFramespark.apache.org/docs/2.2.0/api/python/…。
标签: apache-spark pyspark jupyter-notebook