hadoop
波哥的技术积累
这个作者很懒,什么都没留下…
展开
-
GenericWritable实例
package inputformat; import java.net.URI; import mapreduce.WordCountApp; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; impor原创 2014-12-21 23:07:59 · 1579 阅读 · 1 评论 -
自定义Partitioner
package com.ccse.hadoop.partitioner; import java.io.IOException; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs原创 2015-01-02 10:39:17 · 2220 阅读 · 0 评论 -
自定义分组Group
package com.ccse.hadoop.group; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import org.apache.hadoop.conf原创 2015-01-02 16:26:18 · 1804 阅读 · 0 评论 -
Hadoop2体系结构
hadoop1.0需要解决的几个问题: 1:单点故障问题,HDFS和MapReduce都是Master-Slave的结构,但是Master节点都是单点,一旦出现故障,那么集群就不能正常运行。 2:HDFS存储海量数据是按照Block来存储的,整个存储只有一种格式,企业存储受限,企业的数据非常多样,存储起来容易造成资源的浪费。 当namenode所在机器的内存不够时原创 2015-01-04 21:50:55 · 9585 阅读 · 3 评论 -
Hadoop调度器
作业调度器默认为JobQueueTaskScheduler,我们修改为FairScheduler mapred.queue.names指定默认的队列 图:CapacityScheduler运行结果统计原创 2015-01-03 20:43:27 · 714 阅读 · 0 评论 -
hadoop2的伪分布式安装
fs.trash.interval用来设置垃圾箱的功能 namenode多了一个active状态 通过http://localhost:8088/cluster访问所有的应用界面 可以通过上传文件到licence目录下,并运行系统自带的wordcount程序,并把结果输出到目录out中 运行工作的一个统计原创 2015-01-04 23:41:22 · 853 阅读 · 0 评论 -
Hadoop2搭建可手工配置的HA
----------------------------- 1.搭建手工切换的ha(比hadoop1集群搭建多了journalnode集群) ----------------------------- namenode:haoop0和hadoop1 datanode:hadoop2、hadoop3、hadoop4 journalnode:haoop0、hadoop1、hadoop2(必须原创 2015-01-05 22:15:24 · 780 阅读 · 0 评论 -
Hadoop2 MapReduce V2动态图
原创 2015-01-05 23:47:43 · 891 阅读 · 0 评论 -
搭建自动切换的HA
---------------------------------------------------------------------------------------------- 2.搭建自动切换的ha(比手工切换ha集群,多了zookeeper集群) ------------------------------------------------------------------原创 2015-01-05 23:50:57 · 2297 阅读 · 0 评论 -
flume-ng应用场景分析
图:FLUME的配置,把控制台的输出命令写出到avro这种格式; This sets up a source that runs "tail" and sinksthat data via Avro RPC to 10.1.1.100 on port 10000. The collecting Flume agent on the Hadoop cluster willneed a原创 2015-03-14 12:24:27 · 2879 阅读 · 0 评论 -
Pig简单入门
Pig专门用来处理来自于HDFS的数据,它提供了一套流式的数据处理语言,转化为Map-Reduce来处理HDFS的数据; Pig包括用来描述数据分析程序的高级程序设计语言,以及对这些程序进行评估的基础结构。Pig突出的特点就是它的结构经得起 大量并行任务的检验,这使得它能够处理大规模数据集。 使用pig命令直接进入命令行模式; 在命令行模式照样可以使用hadoo原创 2015-03-08 23:22:34 · 1694 阅读 · 0 评论 -
Pig自定义功能
user.data:第1列是用户id,第2列是用户名; role.data:第1列是角色id,第2列是角色名,第三列是用户id; 比如想在PIG中过滤id为3的记录: 使用自定义函数的方式来解决: 图:在exec函数中判断id的值是原创 2015-03-10 23:16:47 · 844 阅读 · 0 评论 -
1.flume简介
Event:每条数据的统称; Client:客户端, Agent: 代理,即谁去采集数据,部署的工具,包括很多组件,如Sources, Channels和Sinks等; Source:用来接收数据,数据来源可以定制; Sink:用来把数据写出; Channel:把Source和Sink连接在一起的管道; 使用Agent来实现负载均衡;容错性高一些;使源地址原创 2015-03-12 23:44:51 · 695 阅读 · 0 评论 -
自定义Combiner
package com.ccse.hadoop.combiner; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; i原创 2015-01-01 23:27:44 · 871 阅读 · 0 评论 -
自定义OutputFormat
package com.ccse.hadoop.outputformat; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configurati原创 2015-01-01 17:31:43 · 5475 阅读 · 0 评论 -
MapReduce的job调优
1:如果存在大量的小数据文件,那么就会建立很多的Map和Reduce任务,Map和Reduce任务都是进程,进程的创建需要很多的资源消耗,那么会造成Map和Reduce任务的 创建时间比计算任务的时间要长,非常不划算。 2:推测执行可能会浪费多余的资源,所以为了资源的更充分利用,我们把它关闭,在资源不紧张的时候可以开启。 3:开启jvm重用后,就不必开启一些进程,节省了资源和时间。 4:增原创 2015-01-03 21:33:35 · 903 阅读 · 1 评论 -
DBInputFormat的用法
package inputformat; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.net.URI; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sq原创 2014-12-21 23:05:15 · 1699 阅读 · 0 评论 -
KeyValueTextInputFormat实例
package inputformat; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.LongWrita原创 2014-12-21 23:09:00 · 2777 阅读 · 0 评论 -
NLineInputFormat实例
package inputformat; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.LongWrita原创 2014-12-21 23:10:08 · 3063 阅读 · 1 评论 -
wordcount例子的程序,附带说明
package mapreduce; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.LongWritabl原创 2014-12-08 21:24:12 · 782 阅读 · 0 评论 -
自定义InputFormat
程序代码如下: package inputformat; import java.io.DataInput; import java.io.DataOutput; import java.io.FileInputStream; import java.io.IOException; import java.net.URI; import java.util.ArrayList; impor原创 2014-12-30 22:03:49 · 3177 阅读 · 0 评论 -
自定义输出多个文件
package com.ccse.hadoop.outputformat; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.Iterator; import java.util.StringTokenizer; import org.apac原创 2015-01-01 21:37:43 · 817 阅读 · 0 评论 -
使用命令行执行MapReduce
package com.ccse.hadoop.cmd; import java.io.IOException; import java.net.URI; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configured;原创 2015-01-01 22:04:36 · 4256 阅读 · 0 评论 -
mapreduce中计数器的使用
package com.ccse.hadoop.counter; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; im原创 2015-01-01 22:45:02 · 4655 阅读 · 2 评论 -
老api写法的wordcount程序
package com.ccse.hadoop.old; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.Iterator; import java.util.StringTokenizer; import org.apache.hadoo原创 2015-01-01 21:14:47 · 610 阅读 · 0 评论 -
压缩与解压缩
原创 2015-01-02 16:44:01 · 608 阅读 · 0 评论 -
map端join
适用场景:小表可以全部读取放到内存中。两个在内存中装不下的大表,不适合map端join。 在一个TaskTracker中可以运行多个map任务。每个map任务是一个java进程,如果每个map从HDFS中读取相同的小表内容,就有些浪费了。 使用DistributedCache,小表内容可以加载在TaskTracker的linux磁盘上。每个map运行时只需要从linux磁盘加载数据就行了,原创 2015-01-02 22:36:25 · 1702 阅读 · 0 评论 -
reduce端join操作
实例:输入是两个文件,一个代表工厂表,包含工厂名列和地址编号列;另一个代表地址表,包含地址名列和地址编号列,要求从输入数据中找出工厂名和 地址名的对应关系,输出工厂名-地址名表 数据样本 图:factory 图:address 图:输出结果 package com.ccse.hadoop.join; import java.io.IOEx原创 2015-01-02 22:34:03 · 892 阅读 · 0 评论 -
hadoop项目架构
1:日志采集; 2:传输日志; 3:将日志写入HDFS; 4:从HDFS中将日志装载入数据仓库中; 5:对装载的数据进行分析; 6:调用Hadoop集群的M/R执行并行计算,并返回结果; 7:将结果中有价值的数据写入HBASE数据库; 8:报表系统&应用程序端通过HBASE查询数据并展现; 备注:1:HBASE主要是和前端用户打交道的,因为HBASE的速度快;2:原始数据如果要被变原创 2015-03-14 11:51:05 · 1800 阅读 · 1 评论