第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

《Hadoop技術(shù)內(nèi)幕:深入解析Hadoop和HDFS》2.1配置文件簡(jiǎn)介

標(biāo)簽:
Hadoop

2.1 配置文件简介

配置文件是一个灵活系统不可缺少的一部分,虽然配置文件非常重要,但却没有标准。

本节我们来了解 Windows 操作系统和 Java 环境中的配置文件。

2.1.1 Windows 操作系统的配置文件

Windows 系统广泛使用一种特殊化的 ASCII 文件(以“ini”为文件扩展名)作为它的

主要配置文件标准。下面是 INI 文件的片段:

; 最后修改时间:2012.10.12

[owner]

name=John Doe

organization=Acme Widgets Inc.

[database]

server=192.0.2.62 ; 使用 IP 地址,在域名解析不能使用时还能正常工作

port=143

file="payroll.dat"

[ftp]

该文件也称为初始化文件(Initialization File,它的扩展名就是 initialization 的前三个字

母)或概要文件(profile),应用程序可以拥有自己的配置文件,存储应用的设置信息,也可

以访问 Windows 的基本系统配置文件 win.ini 中存储的配置信息。INI 文件将配置信息分为

“节”,节标题放在方括号中。如上面例子中的 [database],就是 database 节的节标题。节用

于对配置数据做一个归类,每一个节可以包含一些与之相关的“项”(ENTRY),并通过等号

对其进行赋值(VALUE)。一般的形式如下:

[SECTION]

ENTRY=VALUE

其中 VALUE 值可以有两种类型:数型或字符串。上面给出的 INI 文件片段中,database

节中包含 3 个项,分别是 server、port 和 file。其中,配置项 port 可以以数型的形式读取。

INI 文件中的注释以分号开始,到行尾结束。

Windows 操作系统同时还提供了一些 API,用来对配置文件进行读、写。如使用

GetProfileString() 函数可以从配置文件 win.ini 中获取字符串型配置,使用 GetPrivateProfileInt()

函数可以从私有的配置文件中读取一个配置整数型项。该函数的原型如下:

UINT WINAPI GetPrivateProfileInt(

__in LPCTSTR lpAppName,

__in LPCTSTR lpKeyName,

__in INT nDefault,

__in LPCTSTR lpFileName

);

其 中, 参 数 LPCTSTR lpFileName 是 INI 文 件 的 文 件 名,LPCTSTR lpAppName 和

LPCTSTR lpKeyName 分别是上述的“节”和“项”,INT nDefault 是默认值,也就是说,如

果在配置文件中找不到配置信息,就返回该默认值。

2.1.2 Java 配置文件

JDK 提供了 java.util.Properties 类,用于处理简单的配置

文件。Properties 很早就被引入到 Java 的类库中,并且一直没

有什么变化。它继承自 Hashtable,如图 2-1 所示,表示了一

个持久的属性集,该集可保存在流中或从流中加载。属性列

表中每个键及其对应值都是字符串类型。

webp

图 2-1 Properties 的继承关系

相对于 INI 文件,Properties 处理的配置文件格式非常简单,它只支持键 – 值对,等号

“=”左边为键,右边为值。形式如下:

ENTRY=VALUE

由于 Properties 基于 Hashtable,它并不能支持 INI 文件中的“节”,对配置项进行分类。

java.util.Properties 中用于处理属性列表的主要方法如下,其中,getProperty() 用于在属性

列表中获取指定键(参数 key)对应的属性,它有两个形式,一个不提供默认值,另一个可以

提供默认值。Properties.setProperty() 用于在属性列表中设置 / 更新属性值。相关代码如下:

// 用指定的键在此属性列表中搜索属性

public String getProperty(String key)

// 功能同上,参数 defaultValue 提供了默认值

public String getProperty(String key, String defaultValue)

// 最终调用 Hashtable 的方法 put

public synchronized Object setProperty(String key, String value)

Properties 中的属性通过 load() 方法加载,该方法从输入流中读取键 – 值对,而 store()

方法则将 Properties 表中的属性列表写入输出流。使用输入流和输出流,Properties 对象

不但可以保存在文件中,而且还可以保存在其他支持流的系统中,如 Web 服务器。J2SE

1.5 版本以后,Properties 中的数据也可以以 XML 格式保存,对应的加载和写出方法是loadFromXML() 和 storeToXML()。

下面是以 XML 格式存在的 Properties 配置文件的例子。

<?xml?version="1.0"?encoding="UTF-8"?>

<!DOCTYPE?properties?SYSTEM

"http://java.sun.com/dtd/properties.dtd">

<properties>

<comment>Hi</comment>

<entry?key="foo">bar</entry>

<entry?key="fu">baz</entry>

</properties>

由于 java.util.Properties 提供的能力有限,Java 社区中出现了大量的配置信息读 / 写方

案,其中比较有名的是 Apache Jakarta Commons 工具集中提供的 Commons Configuration。

Commons Configuration 中的 PropertiesConfiguration 类提供了丰富的访问配置参数的方法。

Commons Configuration 支持文本、XML 配置文件格式 ;支持加载多个配置文件 ;支持分

层或多级的配置 ;同时提供对单值或多值配置参数的基于类型的访问。应该说,Commons

Configuration 是一个功能强大的配置文件处理工具。

这是给大家做的一个《Hadoop技术内幕:深入解析Hadoop和HDFS》的分享,这本书是由我们的蔡斌和陈湘萍著作,大家想学Hadoop的可以在网上找这本书。

后续还会给大家上,敬请期待。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。 Hadoop也是后面其他技术的基础,学好了Hadoop才能更好地学好hive,hbase,spark,storm等。



作者:爱我的程序人生
链接:https://www.jianshu.com/p/d985a859aadb


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消