Url 用于 HDFS 文件系统

Url for HDFS file system

我在 HDFS 中有一些数据 /user/Cloudera/Test/*。 运行 hdfs -dfs -cat Test/*.

的记录我很好看

现在是同一个文件,我需要在 Scala 中将其读取为 RDD。 我在 scala shell.

中尝试了以下内容
val file = sc.textFile("hdfs://quickstart.cloudera:8020/user/Cloudera/Test")

然后我写了一些过滤器和for循环来读取单词。但是当我最后使用 Println 时,它说找不到文件。

任何人都可以帮助我知道在这种情况下 HDFS url 是什么。 注意:我使用的是Cloudera CDH5.0 VM

不使用 "quickstart.cloudera" 和端口,只使用 IP 地址:

val file = sc.textFile("hdfs://<ip>/user/Cloudera/Test")

如果您尝试在 spark 作业中访问您的文件,那么您只需使用 URL

val file = sc.textFile("/user/Cloudera/Test") 

Spark 将自动检测此文件。您不需要添加 localhost 作为前缀,因为默认情况下 spark 作业从 HDFS 目录读取它们。

希望这能解决您的问题。