cloudera hadoop:在hdfs中读取/写入文件

cyej8jka  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(444)

我在cloudera平台上的spark中运行了scala和java代码,其简单任务是对hdfs中的文件执行字数统计。我的问题是:用这个代码段读取文件有什么区别-
sc.textfile(“hdfs://quickstart.cloudera:8020/user/spark/inputfile/inputtext.txt“)
与通过cloudera平台从本地驱动器读取不同?
sc.textfile(“/home/cloudera/inputfile/inputtext.txt”)
在这两种情况下,文件都是用hdfs保存的,读写两种方式都不会有任何区别?它们都读/写hdfs,对吗?我引用了这条线索,但没有线索。cloudera quickstart vm illegalarguementexception:错误的fs:hdfs:应为:文件:
你能至少告诉我一个使用hdfs://意味着其他东西的例子吗?
谢谢您!

envsm3lx

envsm3lx1#

据我所知, 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文件,那么您需要使用hdfs://namenodehost:端口符合hadoop配置。
希望这能澄清你的疑问!!

相关问题