随笔分类 -  Hadoop

摘要:1、Hadoop HAR 将众多小文件打包成一个大文件进行存储,并且打包后原来的文件仍然可以通过Map-Reduce进行操作,打包后的文件由索引和存储两大部分组成; 缺点: 一旦创建就不能修改,也不支持追加操作,还不支持文档压缩,当有新文件进来以后,需要重新打包。 2、SequeuesFile 适用 阅读全文
posted @ 2017-07-13 08:20 mzzcy 阅读(3121) 评论(0) 推荐(0)
摘要:定义: Flume:是Cloudera提供的一个分布式的海量日志采集、聚合和传输的系统; Kafka:是一种高吞吐量的分布式发布订阅消息系统; 各特点: 场景: Flume主要是和HDFS\HBase结合,有特殊优化效率更好; Kafka 是一个通用型系统,开发商 Cloudera 推荐如果数据需要 阅读全文
posted @ 2017-07-06 09:41 mzzcy 阅读(2699) 评论(0) 推荐(0)
摘要:The ChainMapper class allows to use multiple Mapper classes within a single Map task. The ChainReducer class allows to chain multiple Mapper classes a 阅读全文
posted @ 2017-07-06 01:14 mzzcy 阅读(257) 评论(0) 推荐(0)
摘要:一、用途 边数据是作业所需的额外的只读数据,通常用来辅助主数据集; 二、方法 1、利用Configuration类来配置,利用setter()和getter()可方便的使用,方便存储一些基本的类型; 2、分布式缓存: 相比这下,分布式缓存更灵活,它能在任务运行过程中及时地将文件和存档复制到任务节点以 阅读全文
posted @ 2017-06-28 19:38 mzzcy 阅读(465) 评论(0) 推荐(0)
摘要:一、Map端Join 可连接两个都非常大的数据集之间可使用map端连接,数据在到达map端之前就执行连接操作。 需满足: 两个要连接的数据集都先划分成相同数量的分区,相同的key要保证在同一分区中(每个分区中两个数据集数据量不一定要要相同), 并且要 按连接key排序; 利用CompositeInp 阅读全文
posted @ 2017-06-28 17:20 mzzcy 阅读(349) 评论(0) 推荐(0)
摘要:一、目的 a. 减小磁盘占用 b. 加速网络IO 二、几个常用压缩算法 是否可切分:是指压缩后的文件能否支持在任意位置往后读取数据。 各种压缩格式特点: 压缩算法都需要权衡 空间/时间 ;压缩率越高,就需要更多的压缩解压缩时间;压缩时有9个级别来控制:1为优化压缩速度,9为优化压缩率(如 gzip 阅读全文
posted @ 2017-06-28 10:39 mzzcy 阅读(479) 评论(0) 推荐(0)
摘要:1、大多小文件的劣处: a. 生成更多的map任务,额外的开销; b. 每个文件都需要守址时间; c. HDFS上namenode需要占用内存空间; 阅读全文
posted @ 2017-06-28 01:17 mzzcy 阅读(139) 评论(0) 推荐(0)
摘要:一、输入格式 1、输入分片split 一个分片对应一个map任务; 一个分片包含一个表(整个文件)上的若干行,而一条记录(单行)对应一行; 分片包含一个以字节为单位的长度 和 一组存储位置,分片不包含实际的数据; map处理时会用分片的大小来排序,优先处理最大的分片; hadoop中Java定义的分 阅读全文
posted @ 2017-06-27 21:47 mzzcy 阅读(687) 评论(0) 推荐(0)
摘要:一、MRv1 Master - Slave 模式 存在JobTracker单点失败的问题,在YARN得到了解决。 主要包含4部分:JobTracker,TaskTracker,Task,Client JobTracker:负责整个MR集群的资源监控和作业调度,集群的Master。它把任务进度 和 资 阅读全文
posted @ 2017-06-26 01:20 mzzcy 阅读(507) 评论(0) 推荐(0)
摘要:一、梗概: 源于Google GFS论文(03年)。 Master - Slave 模式 优点: 超大文件 高容错 适合大数据的批处理(流式访问) 缺点: 高延时访问 小文件存储(元信息,寻道时间大) 不能多用户写,文件不能随机修改,只能追加(不支持并发写入,只能一个线程写入) 数据块blcok: 阅读全文
posted @ 2017-06-26 00:55 mzzcy 阅读(175) 评论(0) 推荐(0)
摘要:一、什么是: MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统 阅读全文
posted @ 2017-06-25 22:40 mzzcy 阅读(425) 评论(0) 推荐(0)
摘要:学习笔记,整理自《Hadoop权威指南 第3版》 一、序列化 序列化:序列化是将 内存 中的结构化数据 转化为 能在网络上传输 或 磁盘中进行永久保存的二进制流的过程;反序列化:序列化的逆过程; 应用:进程间通信、网络传输、持久化; Hadoop中是使用的自己的序列化格式Writable,以及结合用 阅读全文
posted @ 2017-06-25 18:20 mzzcy 阅读(1289) 评论(0) 推荐(0)
摘要:一、ZooKeeper 是一个针对大型分布式系统的 协调系统; 二、ZooKeeper架构 1、特性: a. 客户端可以连接到每个server。 b. 每个follower都和leader有连接,接受leader的数据更新操作。 c. Server记录事务日志和快照到持久存储,每个server的数据 阅读全文
posted @ 2017-06-14 01:45 mzzcy 阅读(152) 评论(0) 推荐(0)