用于HDFS文件系统的URL

时间:2017-01-17 20:28:14

标签: scala hadoop cloudera bigdata

我在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网址是什么。 注意:我使用的是Cloudera CDH5.0 VM

2 个答案:

答案 0 :(得分:2)

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

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

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

希望这可以解决您的问题。

答案 1 :(得分:0)

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

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