Cloudera Hadoop:在 HDFS 中读取/写入文件

Cloudera Hadoop : File reading/ writing in HDFS

我在 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 保存的,并且读/写两种方式都没有任何区别吗?这些都read/write到HDFS,对吧?我提到了这个线程,但没有任何线索。

你能告诉我至少一个使用 hdfs:// 意味着其他东西的情况吗?

谢谢!

据我所知,

  • 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 文件系统。

因此,如果您想 use/read/write 进入 HDFS 文件,则需要根据 hadoop 配置使用 hdfs://namenodeHost:port。

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