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 目录读取它们。
希望这能解决您的问题。
我在 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 目录读取它们。
希望这能解决您的问题。