![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop
文章平均质量分 78
森海雪域
每天进步一点
展开
-
研磨Hadoop源码(二)-yarn-ClientToAMTokenSecretManagerInRM
由于hadoop2中最大,也炒的比较火的就是yarn,所以先看看yarn,关于yarn是什么东西或者架构,这里就不做详细说明,网上随便一搜就有了,给一个yarn的整体架构图从上图可知,yarn里面最主要的Resource Manager(很不幸,又一个单点),所以我们从ResourceManager开始,今天先分析ResourceManager的第一个成员ClientToAMT转载 2014-10-08 20:10:08 · 611 阅读 · 0 评论 -
Hadoop SequcenceFile 处理多个小文件
利用sequenceFile打包多个小文件,MapFile是sequenceFile的排序形式,程序如下:转载 2014-11-03 17:16:04 · 744 阅读 · 0 评论 -
HDFS之SequenceFile和MapFile
Hadoop的HDFS和MapReduce子框架主要是针对大数据文件来设计的,在小文件的处理上不但效率低下,而且十分消耗内存资源(每一个小文件占用一个Block,每一个block的元数据都存储在namenode的内存里)。解决办法通常是选择一个容器,将这些小文件组织起来统一存储。HDFS提供了两种类型的容器,分别是SequenceFile和MapFile。一、SequenceFileSeq转载 2014-11-03 17:18:10 · 1250 阅读 · 0 评论 -
hadoop hdfs的一些操作
[java] view plaincopy package com.picc.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;转载 2014-10-16 22:45:18 · 1215 阅读 · 0 评论 -
MapReduce数据流
在上一篇文章中我们讲解了一个基本的MapReduce作业由那些基本组件组成,从高层来看,所有的组件在一起工作时如下图所示:图4.4高层MapReduce工作流水线 MapReduce的输入一般来自HDFS中的文件,这些文件分布存储在集群内的节点上。运行一个MapReduce程序会在集群的许多节点甚至所有节点上运行mapping任务,每一个mapping任务都是平等的:mappers没转载 2014-11-03 17:11:20 · 575 阅读 · 0 评论 -
Hadoop配置文件配置项定义说明
Hadoop配置文件配置项定义说明转载 2014-11-03 15:05:17 · 719 阅读 · 0 评论 -
SequenceFile文件
SequenceFile文件是Hadoop用来存储二进制形式的key-value对而设计的一种平面文件(Flat File)。目前,也有不少人在该文件的基础之上提出了一些HDFS中小文件存储的解决方案,他们的基本思路就是将小文件进行合并成一个大文件,同时对这些小文件的位置信息构建索引。不过,这类解决方案还涉及到Hadoop的另一种文件格式——MapFile文件。SequenceFile文件并不保证转载 2014-11-03 17:21:24 · 766 阅读 · 0 评论 -
Hadoop 常用命令
概述 所有的hadoop命令 由bin / hadoop脚本调用。不带任何参数运行 hadoop脚本会打印所有命令的描述。用法: hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]Hadoop有一个选项解析框架用于解析一般的选项和运行类。COMMAND转载 2014-11-03 14:42:25 · 2333 阅读 · 0 评论 -
MapFile和BloomMapFile文件
一. MapFile文件 前面说过,SequenceFile文件是用来存储key-value数据的,但它并不保证这些存储的key-value是有序的,而MapFile文件则可以看做是存储有序key-value的SequenceFile文件。MapFile文件保证key-value的有序(基于key)是通过每一次写入key-value时的检查机制,这种检查机制其实很简单,就是保证当前正要写入转载 2014-11-03 20:54:38 · 1113 阅读 · 0 评论 -
The Anatomy of Hadoop IO Pipeline(译)(转载)
作者:Owen Omalley 2009-8-27原文:http://developer.yahoo.com/blogs/hadoop/posts/2009/08/the_anatomy_of_hadoop_io_pipel/译者:phylips@bmy 2011-8-28出处:http://duanple.blog.163.com/blog/static/70971767转载 2014-10-16 22:51:07 · 478 阅读 · 0 评论 -
HBase二级索引与Join
二级索引与索引Join是Online业务系统要求存储引擎提供的基本特性。RDBMS支持得比较好,NOSQL阵营也在摸索着符合自身特点的最佳解决方案。这篇文章会以HBase做为对象来探讨如何基于Hbase构建二级索引与实现索引join。文末同时会列出目前已知的包括0.19.3版secondary index,?ITHbase, Facebook和官方Coprocessor方案的介绍。理论转载 2014-10-28 18:20:53 · 543 阅读 · 0 评论 -
MapReduce:详解Shuffle过程
在代码中又确认了一下,Combiner在spill的时候会执行,同时在merge的时候只有spill的文件数大于min.num.spill.for.combine才会执行,具体见代码: private void sortAndSpill() throws IOException, ClassNotFoundException,转载 2014-10-08 20:34:49 · 541 阅读 · 0 评论 -
hbase MapReduce程序样例入门
1、先看一个标准的hbase作为数据读取源和输出源的样例:View Code JAVA12345678Configuration conf = HBaseConfiguration.create();Job job = new Job(conf, "job name ");job.setJarByClass(test.class);转载 2014-10-08 20:29:07 · 574 阅读 · 0 评论 -
深度分析如何在Hadoop中控制Map的数量
很 多文档中描述,Mapper的数量在默认情况下不可直接控制干预,因为Mapper的数量由输入的大小和个数决定。在默认情况下,最终input占据了多 少block,就应该启动多少个Mapper。如果输入的文件数量巨大,但是每个文件的size都小于HDFS的blockSize,那么会造成启动的 Mapper等于文件的数量(即每个文件都占据了一个block),那么很可能造成启动的Mapper数量超出限转载 2014-10-08 20:31:02 · 430 阅读 · 0 评论 -
Hadoop中两表JOIN的处理方法
Dong的这篇博客我觉得把原理写的很详细,同时介绍了一些优化办法,利用二次排序或者布隆过滤器,但在之前实践中我并没有在join中用二者来优化,因为我不是作join优化的,而是做单纯的倾斜处理,做join优化或者查询优化时,上述二者是最基本的优化办法了。1. 概述在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在HADOOP中进行JOIN操作,同样常见转载 2014-10-08 20:07:36 · 499 阅读 · 0 评论 -
带索引的mapReduce
之前我们跑mapreduce,对某些维度进行统计,都是暴利方式的遍历,有些时候,我们仅仅想扫描原始数据的一部分,或者仅仅是其中的一列,这些数据可能仅仅是原始数据的十分之一,百分之一,那么暴利扫描太不可取了。 回想下我们之前使用数据库的场景,数据库在扫描的时候通常是利用一些索引, 而并非全表扫描,故mapReduce 程序也可以借助这一特点,先创建索引,然后在索引上的进一步分析,防转载 2014-10-08 20:33:24 · 505 阅读 · 0 评论 -
Hadoop实战-中高级部分 之 Hadoop MapReduce高级编程
第一部分:重要的组件Combiner•什么是Combiner•combine函数把一个map函数产生的对(多个key, value)合并成一个新的. 将新的作为输入到reduce函数中,其格式与reduce函数相同。•这样可以有效的较少中间结果,减少网络传输负荷。 •什么情况下可以使用Combiner•可以对记录进行汇总统计的场景,如求和。•求平均数的场转载 2014-10-08 20:35:19 · 474 阅读 · 0 评论 -
Java API操作Hbase(基于0.96新的api)
package com.dhgate.hbase.test;import java.util.ArrayList;import java.util.List; import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.Cell;import org.apache.hadoop.hbase.Ce转载 2014-10-28 09:57:53 · 632 阅读 · 0 评论 -
用hbase(0.92版本以上)的协处理器实现快速返回查询结果总数
在0.92版本的hbase上添加了协处理器的功能,协处理器分为两大部分 endpoint和observer.observer相当于一个钩子的作用,根据钩子运行的模块来划分,又分成三个RegionObserver:用这个做数据操纵事件,其紧密的绑定到表的regionMasterObserver:处理集群级别的事件:管理操作和数据定义语言操作WALObserver:预写转载 2014-10-28 10:06:28 · 709 阅读 · 0 评论 -
Hadoop的自定制数据类型
Hadoop的自定制数据类型一般有两个办法,一种较为简单的是针对值,另外一种更为完整的是对于键和值都适应的方法:1、实现Writable接口:/* DataInput and DataOutput 类是java.io的类 */public interface Writable { void readFields(DataInput in); void write(DataOutput转载 2014-10-16 22:39:13 · 534 阅读 · 0 评论