Hadoop权威指南:数据完整性
Hadoop权威指南:数据完整性
常用的错误检测码是CRC-32(循环冗余校验)
HDFS的数据完整性
- HDFS会对写入的所有数据计算校验和,并在读取数据时验证校验和
- datanode负责在收到数据后储存该数据及其验证校验和
- 客户端从datanode读取数据时也会验证校验和,与datanode中存储的校验和进行比较
- 每个datanode均持久保存一个用于验证的校验和日志
- 每个datanode也会在一个后台线程中运行一个DataBlockScanner,定期验证存储在这个datanode上的所有数据块
- 在使用
open()
方法前, 将false
值传递给FileSystem对象的setVerifyChecksum()方法,即可以禁用校验和验证
LoaclFileSystem
- Hadoop的LocalFileSystem执行客户端的校验和验证
- 禁用校验和计算
使用RawLoaclFileSystem
替代LocalFileSystem
在应用中实现全局校验和验证
fs.file.impl
属性设置为org.apache.hadoop.fs.RawLocalFileSystem
,进而实现对文件URI的重新映射- 新建一个RawLocalFileSystem实例,如果想针对一些读操作禁用校验和,这个方案非常有用,实例如下
Configuration conf = ...
FileSystem fs = new RawLocalFileSystem();
fs.initialize(null, conf);
ChecksumFileSystem
LocalFileSystem
通过CheckFileSystem
来完成自己的任务,该类继承自FileSystem
,一般用法如下
FileSystem rawFS = ...
FileSystem checksummedFS = new ChecksumFileSystem(rawFs);
底层文件系统成为"源"(raw)文件系统,可以适用ChecksumFileSystem
实例的getRawFileSystem()
方法获取它
Hadoop权威指南:数据完整性的更多相关文章
- Hadoop权威指南(中文版,第2版)【分享】
下载地址 Hadoop权威指南(中文版,第2版) http://download.csdn.net/download/u011000529/5726789 (友情提示:请点击右下的 “联通下载” 或者 ...
- Hadoop权威指南学习笔记二
MapReduce简单介绍 声明:本文是本人基于Hadoop权威指南学习的一些个人理解和笔记,仅供学习參考,有什么不到之处还望指出,一起学习一起进步. 转载请注明:http://blog.csdn.n ...
- 基于python的《Hadoop权威指南》一书中气象数据下载和map reduce化数据处理及其可视化
文档内容: 1:下载<hadoop权威指南>中的气象数据 2:对下载的气象数据归档整理并读取数据 3:对气象数据进行map reduce进行处理 关键词:<Hadoop权威指南> ...
- Hadoop权威指南:MapReduce应用开发
Hadoop权威指南:MapReduce应用开发 [TOC] 一般流程 编写map函数和reduce函数 编写驱动程序运行作业 用于配置的API Hadoop中的组件是通过Hadoop自己的配置API ...
- Hadoop权威指南:通过FileSystem API读取数据
Hadoop权威指南:通过FileSystem API读取数据 [TOC] 在Hadoop中,FileSystem是一个通用的文件系统API 获取FileSystem实例的几个静态方法 public ...
- Hadoop权威指南:从Hadoop URL读取数据
[TOC] Hadoop权威指南:从Hadoop URL读取数据 使用java.net.URL对象从Hadoop文件系统读取文件 实现类似linux中cat命令的程序 文件名 HDFSCat.java ...
- Hadoop权威指南:压缩
Hadoop权威指南:压缩 [TOC] 文件压缩的两个好处: 减少储存文件所需要的磁盘空间 加速数据在网络和磁盘上的传输 压缩格式总结: 压缩格式 工具 算法 文件扩展名 是否可切分 DEFLATE ...
- Hadoop权威指南:HDFS-Hadoop存档
Hadoop权威指南:HDFS-Hadoop存档 [TOC] 每个文件按块方式存储, 每个块的元数据存储在namenode的内存中 Hadoop存档文件或HAR文件是一个更高效的文件存档工具,它将文件 ...
- Hadoop权威指南:通过distcp并行复制
Hadoop权威指南:通过distcp并行复制 distcp是一个分布式复制程序,改程序可以从Hadoop文件系统间复制大量数据,也可以将大量的数据复制到Hadoop中 distcp的典型应用是在两个 ...
随机推荐
- python_eval的用法
1. eval用法: 将字符串str当成有效的表达式来求值并返回计算结果. 2. eval的功能: math当成一个计算器很好用. 将字符串转换为list,tuple,dict. 3. 举例 # -* ...
- codeforces #309 DIV2
这场并没有做,做的赛后的,太晚了时间,中午做了两题,稍微贴一下,剩余的题目本周争取补完 A题: 链接:http://codeforces.com/contest/554/problem/A #incl ...
- STM32实现HID和u盘复合设备
USB设备可以定义一个复合设备,复合设备分两种,一种是一个设备多个配置,还有一种是一个配置多个接口,在本例中采用一个配置多个接口的方式 首先修改设备描述符,标准设备描述符和报告描述符都不需要修改, ...
- with补充知识点
import threading,queue,time import contextlib @contextlib.contextmanager def fun(list_1,val): list_1 ...
- LPC2478的GPIO使用详解
GPIO使用 LPC2478的GPIO是不能断开时钟的,上电就连接.处理GPIO主要就下面几步 1. 设置为普通IO模式 2. 设置输入输出方向 3. 设置值 以下寄存器 ...
- java实现——009Fibonacci数列
1.循环 public class T009 { public static void main(String[] args){ System.out.println(fibonacci(3)); } ...
- java实现——008旋转数组的最小数字
public class T008 { public static void main(String[] args) { int[] num = { 3, 4, 5, 1, 2 }; System.o ...
- IOS开发-UI学习-NSBundle和NSURL的区别(读取文件以及写入文件)
NSBundle和NSURL的区别: 在项目的工程中添加一个文件,本例程添加的是aa.txt,文件的内容为百度: www.baidu.com,现在要使用NSBundle和NSURL分别去获取内容,代码 ...
- time.setToNow() 取当前时间,月份有误
[java] view plaincopy Time time = new Time("GMT+8"); time.setToNow(); int year = time.ye ...
- 不错的Django技术网址
Ajax与json需要看得 http://stackoverflow.com/questions/30243101/return-queryset-as-json