`
cumtheima
  • 浏览: 256259 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Hadoop技术内幕_深入解析Hadoop Common和HDFS架构设计与实现原理——读书笔记(2)

阅读更多

第2章 Hadoop配置信息处理

2.1 配置文件简介

 1.  windows 操作系统的配置文件:后缀为 ini 

          java解析 ini 配置文件第三方API有:

          (1) JCom包:下载JCom-2.2.0-1.jar

          (2) Apache Commons 工具集:下载commons-configuration-1.10-bin.zip

 2. Java配置文件

     (1) 后缀是 properties 文件:通过java.util.Properties类的load()和store()方法;

     (2) 后缀是 xml 文件:JDK5.0以后, 通过java.util.Properties类的loadFromXML()和storeToXML()方法;

     (3) Apache Commons 工具集:见上面

2.2 Hadoop Configuration 详解

 1. org.apache.hadoop.conf.Configuration

      使用Configuration类的一般过程是:构造Configuration对象,并通过类的addResource()方法添加需要加载的资源;然后就可以使用get*方法和set*方法访问/设置配置,资源在第一次使用的时候自动加载到对象中。

 2. Configuration类加载配置资源,采用“延迟加载的设计模式”。即使用addResource()加载资源的时候,不解析XML,而在使用get*方法调用的时候解析XML文件。

 3. Hadoop配置文件的格式:XML格式。

 4. Hadoop解析XML配置文件方式:JAXP(Java API for XML Processing)是一种稳定、可靠的XML处理API,支持SAX和DOM二种XML处理方法。由于Hadoop的配置文件都是很小的,所以采用DOM处理XML。

 

注:Java解析XML文件常见方法:

(1)、【DOM(Document Object Model) 】
由W3C提供的接口,它将整个XML文档读入内存,构建一个DOM树来对各个节点(Node)进行操作。

(2)、【SAX (Simple API for XML) 】
SAX不用将整个文档加载到内存,基于事件驱动的API(Observer模式),用户只需要注册自己感兴趣的事件即可。SAX提供EntityResolver, DTDHandler, ContentHandler, ErrorHandler接口,分别用于监听解析实体事件、DTD处理事件、正文处理事件和处理出错事件,与AWT类似,SAX还提供了一个对这4个接口默认的类DefaultHandler(这里的默认实现,其实就是一个空方法),一般只要继承DefaultHandler,重写自己感兴趣的事件即可。

(3)、【JDOM】
JDOM与DOM非常类似,它是处理XML的纯JAVA API,API大量使用了Collections类,且JDOM仅使用具体类而不使用接口。 JDOM 它自身不包含解析器。它通常使用 SAX2 解析器来解析和验证输入 XML 文档(尽管它还可以将以前构造的 DOM 表示作为输入)。它包含一些转换器以将 JDOM 表示输出成 SAX2 事件流、DOM 模型或 XML 文本文档。

(4)、【DOM4j】
dom4j是目前在xml解析方面是最优秀的(Hibernate、Sun的JAXM也都使用dom4j来解析XML),它合并了许多超出基本 XML 文档表示的功能,包括集成的 XPath 支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。

 

备注:本博客只是读书笔记,只记录我认为比较重要,而且容易忘记的知识点。如有问题请留言。

分享到:
评论

相关推荐

    本地调试所需hadoop包,hadoop-common-bin-master,winutils.exe

    Hadoop的组成部分包括Hadoop Common、Hadoop HDFS(分布式文件系统)、Hadoop YARN(资源调度器)和Hadoop MapReduce(并行计算框架)。Hadoop Common就是这些组件的基础,它提供了一套跨所有Hadoop子项目的共享实用...

    Hadoop学习笔记.pdf

    Hadoop的源码项目结构主要包括hadoop-common-project、hadoop-hdfs-project、hadoop-mapreduce-project、hadoop-yarn-project等,每个项目下又有多个子项目,包含了Hadoop运行所需的各个组件和客户端等。 在实际...

    hadoop笔记2.pdf

    Hadoop的Common辅助工具集成了HDFS的数据存储、MapReduce的计算和资源调度功能。YARN(Yet Another Resource Negotiator)是Hadoop的资源管理平台,负责资源的分配和任务调度。 **Hadoop的商业应用** Hadoop商业...

    Hadoop学习网址

    - **概念介绍**: 对Hadoop的概念进行了全面的阐述,适合初学者快速了解Hadoop的基本原理和技术架构。 - **技术细节**: 提供了关于Hadoop核心技术(如HDFS、YARN等)的深入解析,便于理解其内部工作机制。 - **...

    IT十八掌HADOOP笔记.docx

    《IT十八掌HADOOP笔记》详述了Hadoop这一分布式计算框架的原理、安装配置以及核心组件。Hadoop由Doug Cutting创立,是一款开源软件,旨在实现可靠、可伸缩的分布式计算。它主要由HDFS(Hadoop Distributed File ...

    大数据知识仓库涉及到数据仓库建模、实时计算、大数据、数据中台、系统设计、Java、算法等代码

    5、Hadoop生态圈的学习笔记,主要记录HDFS、MapReduce、Yarn相关读书笔记及源码分析等 5.1 HDFS Hadoop快速入门 HDFSOverView Hadoop广义生态系统 Hadoop高可用配置 HadoopCommon分析 HDFS集群相关管理 HDFS Shell ...

    hadoopeclipse学习笔记

    对于Hadoop的其他组件,如hdfs、mapreduce和hive,它们的编译过程与common类似。只需要按照相同的步骤设置Ant Builder并进行编译。值得注意的是,hive的编译可能稍微复杂一些,可能需要修改`shims`目录下的`ivy.xml`...

    Sqoop数据采集工具简介、安装、使用学习笔记(配合Hive和Hbase)

    - **环境变量配置**:根据官方文档要求,需要设置 `HADOOP_HOME` 或者一组环境变量包括 `HADOOP_COMMON_HOME`、`HADOOP_MAPRED_HOME`、`HADOOP_YARN_HOME`、`HADOOP_HDFS_HOME` 和 `ZOOKEEPER_HOME`。鉴于操作环境的...

    个人java笔记

    在Java笔记中提到的common组件是Hadoop的核心库,提供了一系列用于分布式文件系统和通用I/O的接口。Avro则允许不同语言之间进行高效的数据交换。MapReduce是处理大规模数据集的模型,它将复杂计算分解为映射和归约两...

    MapReduce学习笔记,亲自测试写出来的,1000分都不贵

    MapReduce 的设计目标是为了简化大型分布式系统的编程,使得开发者无需深入了解分布式底层细节就能编写处理海量数据的应用。 #### 二、YARN 概述 YARN (Yet Another Resource Negotiator) 是 Hadoop 2.x 版本之后...

Global site tag (gtag.js) - Google Analytics