`
bupt04406
  • 浏览: 349570 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

从HDFS API看移动计算(HDFS的设计目标和假设之一 )

阅读更多
已经自己的研究和一个师兄讨教后,发现HDFS提供给程序员使用的API,主要是FileSystem和DFSClient,这两个类提供了用于创建目录,创建文件,取得文件信息的方法,FileSystem是高层的一个类,DFSClient是一个底层的类,FileSystem使用了DFSClient,DFSClient可以比FileSystem相比拿到一些更详细的信息,如文件包括那些block,以及block在那些datanode上等信息,但是他们都不能控制block写到那些机器上,但是可以设置几个备份、所属用户、权限等一些信息。这些很大一部分是HDFS的局限性,另一个方面是为了MapReduce,提供文件的存储,查询数据所在的datanode为移动计算提供了工具。
移动计算,前面说过DFSClient提供了查询文件的具体信息,如文件有那些block,block所在的机器,这样就能找到数据在哪,你就能把计算移动到那。这是HDFS基于移动计算比移动代价低的假设所提供的。从HDFS提供给程序员使用的API角度能够更清楚HDFS的设计目标和假设。

分享到:
评论

相关推荐

    HDFS架构介绍及JAVA的API使用.pdf

    HDFS的设计前提和目标包括: 1. **硬件错误是常态**:HDFS通过数据冗余备份(默认为3个副本)来应对硬件故障。 2. **流式数据访问**:它假设数据会被一次性写入并多次读取,而非频繁修改。 3. **大规模数据集**:...

    Hadoop分布式文件系统使用指南

    - **高容错性**:HDFS假设硬件故障是常态而非异常,因此设计了数据复制机制来确保数据的可靠性和可用性。 - **适合大数据处理**:HDFS被设计用来存储非常大的文件(GB到TB级别),并且支持数千个节点的集群规模。 - ...

    大数据平台项目.zip

    "大数据平台项目.zip"是一个可能包含一系列文件和资源的压缩包,主要专注于大数据处理和分析的项目。在这个项目中,我们可以假设它涵盖了大数据技术栈的关键组件,如数据采集、存储、处理、分析以及可视化。虽然没有...

    Hadoop 和 Spark 的安装、环境配置、使用教程以及一个分布式机器学习项目示例.docx

    可以使用Spark MLlib库来实现这一目标。下面是一个简单的线性回归模型训练的例子。 **4.1 准备数据集** 假设已经准备好了CSV格式的数据集,其中包含特征列和标签列。 **4.2 编写Scala程序** ```scala import org...

    2017年山东大学大数据管理与分析考试题

    **HDFS (Hadoop Distributed File System)** 是Hadoop项目的核心子项目之一,是一种分布式文件系统设计,用于解决大规模数据集的存储问题。 - **数据存放过程**:当客户端向HDFS写入文件时,NameNode会根据文件大小...

    pmmb

    这可能涉及到Android或iOS开发,使用Java、Kotlin、Swift或React Native等语言,以及相关平台的SDK和API。 4. **框架与库**:“PMMB”可能是一个开发框架或库。对于Web开发,这可能是Angular、React或Vue.js;对于...

Global site tag (gtag.js) - Google Analytics