为什么我无法在 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 HDFS
和 hadoop-common/FileSystemShell
我在工作中使用 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 HDFS
和 hadoop-common/FileSystemShell