HDFS读和写
来源:互联网 发布:ubuntu教程 pdf 编辑:程序博客网 时间:2024/05/22 04:41
hadoop处理的输入数据通常很大,以GB或TB计。hadoop将大文件分割为多个块(分片、Input split),分别存在多个机器上。这样,当需要分析此大文件时,MapReduce程序在多台机器上并行处理。
分片不能太大,如果所有数据在一个分片内,那就无法并行处理;
分片不能太小,启动和停止每个分片也需要消耗时间。
HDFS使用FSDataInputStream读取文件,提供了随机读功能。
Mapper
Reducer
Partitioner
对于指定的Key和Value,选择对应的Reducer。
并不是整个MapReduce程序只有一个Reducer。
Combiner
在Mapper本地进行一次reduce操作
InputFormat
分割和读取文件的方式
HDFS提供的常用的:
TextInputFormat:
KeyValueTextInputFormat:
SequenceFileInputFormat:
NLineInputFormat:
也可以实现自己的InputFormat,只需实现两个方法:
getSplits:分割成多个输入分片,每个map任务分配一个分片。
getRecordReader:顺序读取指定分片中的所有记录,解析出Key和Value。
通常继承自FileInputFormat,已经实现了getSPlits,只需自己实现RecordReader即可。
OutputFormat
当MapReduce处理文件结束后,需要每个reducer把自己的输出写入到各自的文件里。
输出文件放在一个公用目录中,命名为part-nnnnn,nnnnn为reducer的分区ID。
相对应的,由RecordWriter对输出进行格式化。
HDFS提供的常用的:
TextOutputFormat:
SequenceFileOutputFormat:可以再由SequenceFileInputFormat再进行读取,这样可以串联起来,作为中间结果。
NullOutputFormat:
- HDFS读和写
- HDFS读与写
- spark parquet 从hdfs 上读 和写
- spark parquet 从hdfs 上读 和写 scala 版本
- 大数据学习篇:hadoop深入浅出系列之HDFS(三) ——HDFS读文件和写文件
- hadoop HDFS工具类---对hdfs的读、写
- datax测试 读mysql 写hdfs
- HDFS写文件解析
- HDFS写文件解析
- hdfs写文件过程
- hadoop hdfs追加写
- HDFS写文件解析
- hadoop Hdfs写流程
- 写hdfs的API
- HDFS写数据过程
- HDFS写操作遗留问题
- HDFS写文件过程
- HDFS 写流程
- 黑马程序员之C#学习笔记:枚举以及将字符串转换为枚举学习心得
- Ubuntu下代替dos2unix命令
- js 旋转文字
- CF 256E Lucky Arrays(线段树+DP)
- SQLServer恢复表级数据
- HDFS读和写
- 指定eclipse启动使用的jdk,路径有空格的情况
- 论软件公司行政部门对公司发展的重要性
- x264中x264_reference_build_list函数解析
- 《coredump问题原理探究》windows版7.1节vector
- zju pat
- Qt QVariant类
- Crafting Winning Solutions
- Boost多线程配置