【问题标题】:About FileSystem class in Hadoop关于 Hadoop 中的 FileSystem 类
【发布时间】:2016-11-28 13:25:39
【问题描述】:

正如这里提到的: https://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop/fs/FileSystem.html

"所有可能使用 Hadoop 分布式文件的用户代码 应该编写系统以使用 FileSystem 对象。”

这是否意味着:如果我们使用 java.io.File 类,那么我们就没有使用 Hadoop 的 HDFS,而是使用 Windows 上的 NTFS 等托管文件系统来访问文件。

请注意:我不是在谈论 Java 概念或视角(即 File 和 FileSystem 类之间的区别)我是在谈论在 HDFS 上使用 java.io.File 的效果。

【问题讨论】:

  • 不,亲爱的,这和你给我的建议完全不同。我在这里介绍的是 Hadoop 概念和软件包,而不是软件工程。
  • 我很确定这就是您引用的行的意思。无论您的文件系统实现如何(Local、HDFS、S3),始终使用接口/抽象类。
  • 亲爱的,请看下面@user7005835的答案

标签: hadoop filesystems hdfs


【解决方案1】:

如果我正确理解您的问题,答案是:是的

如果您使用的是 Java.io.File,那么您没有使用 HDFS 文件系统。 Java.io.File 将是一个文件系统,如 windows 或 linux 等。

要在 HDFS 中创建文件,您需要使用 FileSystem 对象,使用 FileSystem 对象可以在 HDFS 中创建文件。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2016-02-07
    • 1970-01-01
    相关资源
    最近更新 更多