scala - 为什么我无法在 EMR 上的 Spark scala 中打开本地文件
问题描述
我在工作中使用 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
为什么“加载”有效但 spark.read.textFile 无效?
解决方案
在 scala 上没有那么强。
但它看起来像是spark.read.file
从 HDFS 读取的,我猜你的文件在 EMR 本地。
您可以使用以下命令查看 HDFS 上的文件:
$ hdfs dfs -ls
并使用-put
check out hadoop 复制文件将本地文件系统文件夹复制到 HDFS
和hadoop-common/FileSystemShell
推荐阅读
- html - 试图删除我的用户,但我的代码不起作用
- python-3.x - 如何在aiortc(python)中将答案设置为LocalDescription?
- python - 在.ebextension中使用相同代码重新部署弹性beantalk时出现python错误
- reactjs - 如何从 redux 工具包异步 thunk 的挂起状态修改另一个切片的状态
- java - Spring 应用程序生成 2 个 jars - 可执行文件并作为依赖项
- java - 如何将字符串集合传递给具有 (String...Strings) 签名的方法?
- r - 具有某一列的某些值并排除另一列的一个值的数据子集
- android - 如何保存可滚动 TabLayout 的滚动状态?
- elasticsearch - elasticsearch中的近似聚合结果
- swift - Swift Vapor:同时通过迁移和从结构中删除数据库字段