为什么我无法在 EMR 上的 Spark scala 中打开本地文件

why I can't open local file in Spark scala on EMR

我在工作中使用 AWS EMR。如果我启动一个 spark shell 我可以 运行 scala 命令但不能读取本地文件。

例如:

scala> val citi = spark.read.textFile("CitiGroup2006")
org.apache.spark.sql.AnalysisException: Path does not exist: hdfs://ip-10-99-99-99.ec2.internal:8020/user/hadoop/CitiGroup2006;

我尝试输入文件的完整路径,但出现同样的错误。该文件位于我启动 spark shell 的同一目录中。但是它确实可以加载 scala 文件

:load hello.scala

为什么 "load" 有效而 spark.read.textFile 无效?

在 scala 上不是那么强。
但它看起来像 spark.read.file 从 HDFS 读取,我猜你的文件在本地 EMR 上。
您可以使用以下命令查看 HDFS 上的文件:
$ hdfs dfs -ls
并使用 -put 复制文件 查看 hadoop copy a local file system folder to HDFShadoop-common/FileSystemShell