Text
Text的长度定义为UTF-8编码的字节数。
Hadoop定义了两种数据类型以适应MapReduce变成框架的需要。这两种类型非常重要,其中map输出的中间结果就是由它们表示的。它们指的是SequenceFile和MapFile。其中,MapFile是经过排序并带有索引的SequenceFile类。
SequenceFile记录的是key/value对的列表,是序列化之后的二进制文件,因此是不能直接查看的,可以通过以下命令查看:
hadoop fs -text [你的SequenceFile文件]
Sequence有三种不同类型的结构:
记录压缩的key/value对 (只有value被压缩)
block压缩的key/value对(key和value被分别记录到块中,并压缩)。
HDFS
在Hadoop中有一个综合性的文件系统抽象,它提供了文件系统事项实现的各类接口,HDFS只是这个抽象文件系统的一个实例。
HDFS局限:
1、不适合低延迟的数据访问
2、无法高效存储大量小文件
3、不支持多用户写入,只能在文件末尾追加内容
HDFS概念:
1、块(block)
操作系统中都有一个块的概念,文件以块的形式存储在磁盘中,此处块的大小指系统读取/写入可操作的最小文件的大小,即文件系统一次只能操作磁盘块整数倍大小的文件。
HDFS中的块是一个抽象概念,它比操作系统中所说的块要大得多。默认大小是64M。
HDFS分布式文件系统中的文件也被分成块进行存储,它是文件存储处理的逻辑单元。