Hadoop中支持广泛的文件系统,从本地文件系统到HDFS。
在这些文件系统的底层,由checksumfilesystem和rawfilesystem提供了基础支持
rawfilesystem是所有文件系统最底层的组件,其功能就是用最接近操作系统本身的方式生成和处理文件
checksumfilesystem是hadoop数据完整性保证的核心,其工作于rawfilesystem之上,使用rawfilesystem进行基础的数据读写操作。此外,checksumfilesystem还为写入的数据进行CRC校验,它会为被书写的文件创建一个同名的,以.crc结尾的隐藏文件用于保存该文件的完整性信息。
在checksumfilesystem的保证下,hdfs,http,localfilesystem等其它文件系统专心于自己的业务逻辑而不必关心底层数据的写入以及完整性校验信息。
以下的代码说明了rawfilesystem和checksumfilesystem的工作方式:
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocalFileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RawLocalFileSystem;
public class CRawFileSystemWriter
{
public static void main(String[] arrArgvs) throws UnsupportedEncodingE

本文探讨了Hadoop中RawFileSystem和ChecksumFileSystem的角色。RawFileSystem作为底层组件,提供基本的文件操作,而ChecksumFileSystem在此基础上添加数据完整性检查,确保文件的CRC校验并创建隐藏的.crc文件。这使得上层文件系统如HDFS和LocalFileSystem能专注于业务逻辑。
最低0.47元/天 解锁文章
8910

被折叠的 条评论
为什么被折叠?



