Cloudera Hadoop:文件读取/写入HDFS

时间:2017-01-09 12:34:34

标签: hadoop filesystems hdfs cloudera

我在Cloudera平台上的Spark中运行了这个scala和Java代码,其简单的任务是对HDFS中的文件执行Word计数。我的问题是:使用此代码段读取文件的区别是什么 -

sc.textFile(" HDFS://quickstart.cloudera:8020 /用户/火花/ INPUTFILE / inputText.txt&#34)

而不是通过cloudera平台从本地驱动器读取?

sc.textFile(" /home/cloudera/InputFile/inputText.txt")

在这两种情况下都不是使用HDFS保存文件,并且在任何方式读取/写入都不会有任何区别吗?这些都是对HDFS的读/写,对吧?我引用了这个帖子,但没有任何线索。 Cloudera Quickstart VM illegalArguementException: Wrong FS: hdfs: expected: file:

请您告诉我至少一个使用hdfs://隐含其他内容的案例?

谢谢!

1 个答案:

答案 0 :(得分:0)

据我所知,

    此行中的
  • sc.textFile("hdfs://quickstart.cloudera:8020/user/spark/InputFile/inputText.txt") hdfs://quickstart.cloudera:8020指的是HDFS目录或文件/user/spark/InputFile/inputText.txt。
  • sc.textFile("/home/cloudera/InputFile/inputText.txt")在这一行'/home/cloudera/InputFile/inputText.txt'指的是您当地的unix / linux文件系统。

因此,如果您想使用/读/写入HDFS文件,那么您需要根据hadoop配置使用hdfs:// namenodeHost:port。

希望这能澄清你的怀疑!!