转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这个日志 假设我们如下一个日志文件,这个文件的内容是来自某个电信运营商的手机上网日志,文件的内容已经经过了优化,格式比较规整,便于学习研究. 该文件的内容如下(这里我只截取了三行): 1363157993044 18211575961 94-71-AC-CD-E6-18:CMCC-EASY 120.1…
job提交源码分析 在eclipse中的写的代码如何提交作业到JobTracker中的哪?(1)在eclipse中调用的job.waitForCompletion(true)实际上执行如下方法 connect(); info = jobClient.submitJobInternal(conf); (2)在connect()方法中,实际上创建了一个JobClient对象. 在调用该对象的构造方法时,获得了JobTracker的客户端代理对象JobSubmissionProtocol. JobSu…
测试数据的下载地址为:http://pan.baidu.com/s/1gdgSn6r 一.文件分析 首先可以用文本编辑器打开一个HTTP_20130313143750.dat的二进制文件,这个文件的内容是我们的手机日志,文件的内容已经经过了优化,格式比较规整,便于学习研究,感兴趣的读者可以尝试一下. 我从中截取文件中的一行记录内容进行分析: 1363157985066     13726230503    00-FD-07-A4-72-B8:CMCC    120.196.100.82    i…
下面是Hadoop日记系列的目录,由于目前时间不是很充裕,以后的更新的速度会变慢,会按照一星期发布一期的原则进行,希望能和大家相互学习.交流. 目录安排 1>  Hadoop日记Day1---Hadoop介绍 2>  Hadoop日记Day2---虚拟机中搭建Linux 3>  Hadoop日记Day3---Hadoop的伪分布式安装 4>  Hadoop日记Day4---去除HADOOP_HOME is deprecated 5>  Hadoop日记Day5---HDFS介…
本节所用到的数据下载地址为:http://pan.baidu.com/s/1bnfELmZ MapReduce的排序分组任务与要求 我们知道排序分组是MapReduce中Mapper端的第四步,其中分组排序都是基于Key的,我们可以通过下面这几个例子来体现出来.其中的数据和任务如下图1.1,1.2所示. #首先按照第一列升序排列,当第一列相同时,第二列升序排列 3 3 3 2 3 1 2 2 2 1 1 1 ------------------- #结果 1 1 2 1 2 2 3 1 3 2…
一.Hadoop计数器 1.1 什么是Hadoop计数器 Haoop是处理大数据的,不适合处理小数据,有些大数据问题是小数据程序是处理不了的,他是一个高延迟的任务,有时处理一个大数据需要花费好几个小时这都是正常的.下面我们说一下Hadoop计数器,Hadoop计数器就相当于我们的日志,而日志可以让我们查看程序运行时的很多状态,而计数器也有这方面的作用.那么就研究一下Hadoop自身的计数器.计数器的程序如代码1.1所示,下面代码还是以内容为“hello you:hell0 me”的单词统计为例.…
一.代码编写 1.1 单词统计 回顾我们以前单词统计的例子,如代码1.1所示. package counter; 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.LongWritable; import org.…
我使用hadoop的是hadoop1.1.2,而很多公司也在使用hadoop0.2x版本,因此市面上的hadoop资料版本不一,为了扩充自己的知识面,MapReduce的新旧api进行了比较研究. hadoop版本1.x的包一般是mapreduce hadoop版本0.x的包一般是mapred 我们还是以单词统计为例进行研究,代码如下,如代码1.1所示: package old; import java.io.IOException; import java.net.URI; import ja…
Hadoop生态圈-Azkaban实战之Command类型执行指定脚本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.服务端测试代码(别忘记添加权限哟!) [yinzhengjie@s101 ~]$ more /home/yinzhengjie/shell/createLog.sh #!/bin/bash #@author :yinzhengjie #blog:http://www.cnblogs.com/yinzhengjie #EMAIL:y1053419035@q…
MR输入格式概述 数据输入格式 InputFormat. 用于描述MR作业的数据输入规范. 输入格式在MR框架中的作用: 文件进行分块(split),1个块就是1个Mapper任务. 从输入分块中将数据记录逐一读出,并转换为Map的输入键值对. 如果想自定义输入格式,需要实现: 顶级输入格式类:org.apache.hadoop.mapreduce.InputFormat 顶级块类:org.apache.hadoop.mapreduce.InputSplit 顶级块数据读取类:org.apach…
一.搭建Hadoop 开发环境 我们在工作中写完的各种代码是在服务器中运行的,HDFS 的操作代码也不例外.在开发阶段,我们使用windows 下的eclipse 作为开发环境,访问运行在虚拟机中的HDFS.也就是通过在本地的eclipse 中的java 代码访问远程linux 中的hdfs.要使用宿主机中的java 代码访问客户机中的hdfs,需要保证以下几点:(1)确保宿主机与客户机的网络是互通的(2)确保宿主机和客户机的防火墙都关闭,因为很多端口需要通过,为了减少防火墙配置,直接关闭.(3…
Hadoop生态圈-Azkaban实战之Command类型多job工作流flow 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Azkaban内置的任务类型支持command.java. 一.Command类型单一job示例 1>.创建job描述文件 2>.将job资源文件打包成zip文件 3>.通过azkaban的web管理平台创建project并上传job压缩包(首先创建project) 4>.上传zip包 5>.启动执行该job 6>.设置周期…
一.Hadoop项目简介 1. Hadoop是什么 Hadoop是一个适合大数据的分布式存储与计算平台. 作者:Doug Cutting:Lucene,Nutch. 受Google三篇论文的启发 2. Hadoop核心项目 HDFS: Hadoop Distributed File System 分布式文件系统 MapReduce:并行计算框架 3. Hadoop架构 3.1 HDFS架构 (1) 主从结构 •主节点,只有一个: namenode •从节点,有很多个: datanodes (2)…
一.RPC基础概念 1.1 RPC的基础概念 RPC,即Remote Procdure Call,中文名:远程过程调用: (1)它允许一台计算机程序远程调用另外一台计算机的子程序,而不用去关心底层的网络通信细节,对我们来说是透明的.因此,它经常用于分布式网络通信中. RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据.在OSI网络通信模型中,RPC跨越了传输层和应用层.RPC使得开发包括网络分布式多程序在内的应用程序更加容易. (2)Hadoop的进程间交互都是通过R…
开篇:Hadoop是一个强大的并行软件开发框架,它可以让任务在分布式集群上并行处理,从而提高执行效率.但是,它也有一些缺点,如编码.调试Hadoop程序的难度较大,这样的缺点直接导致开发人员入门门槛高,开发难度大.因此,Hadop的开发者为了降低Hadoop的难度,开发出了Hadoop Eclipse插件,它可以直接嵌入到Hadoop开发环境中,从而实现了开发环境的图形界面化,降低了编程的难度. 一.天降神器插件-Hadoop Eclipse Hadoop Eclipse是Hadoop开发环境的…
1 Hadoop是什么? Google公司发表了两篇论文:一篇论文是“The Google File System”,介绍如何实现分布式地存储海量数据:另一篇论文是“Mapreduce:Simplified Data Processing on Large Clusters”,介绍如何对分布式大规模数据进行处理.Doug Cutting在这两篇论文的启发下,基于OSS(Open Source software)的思想实现了这两篇论文中的原理,从而Hadoop诞生了. Hadoop是一种开源的适合…
:搭建Pig环境 :计算每个IP点击次数 内容 运行环境说明 1.1     硬软件环境 线程,主频2.2G,6G内存 l  虚拟软件:VMware® Workstation 9.0.0 build-812388 l  虚拟机操作系统:CentOS 64位,单核,1G内存 l  JDK:1.7.0_55 64 bit l  Hadoop:1.1.2 1.2     机器网络环境 个namenode.2个datanode,其中节点之间可以相互ping通.节点IP地址和主机名分布如下: 序号 IP地…
一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些细节描述的并不那么详细. 汇总的代码流程图附件: hadoop_mapreduce_jobsubmit 二.主要流程 Jobclient通过RPC方式调用到jobtracker的submitJob方法提交作业,包括作业的jar.分片和作业描述. JobTracker的submitJob方法吧job加…
本篇大部分内容參考网上,当中性能部分參考:http://blog.cloudera.com/blog/2009/12/7-tips-for-improving-mapreduce-performance/.http://www.idryman.org/blog/2014/03/05/hadoop-performance-tuning-best-practices/ 原理篇: 1. Hadoop2.X的各个模块一句话简单介绍 1)Hadoop Common:为Hadoop其它模块提供支持的公共工具…
一.虚拟机环境搭建 我们用的虚拟机为vmware,Linux镜像为centOS6.5. vmware安装 安装没什么多说的,一路下一步,但是在新建虚拟机的时候有两个地方需要注意: 1.分配处理器1个就好了,毕竟现在搭的是伪分布式 2.内存分配多一些,这个就看自己机器的情况了 3.网络设置为NAT,不然会有连不上网的问题 centOS6.5安装 将镜像文件添加至虚拟机中,这个CentOS6.5安装比较傻瓜式,不用自己操作,不像之前在CentOS7的安装,还需要自己进行分区,各种设置. CentOS…
Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算. HDFS是Google File System(GFS)的开源实现. MapReduce是Google MapReduce的开源实现. HDFS和MapReduce实现是完全分离的,并不是没有HDFS就不能MapReduce运算. 本文主要参考了以下三篇博客学习整理而成. 1. Hadoop示例程序WordCount详解及实例 2. hadoop 学习笔…
一.环境准备 1.1.机器规划 主机名    别名    IP     角色 9321a27a2b91 hadoop1 172.17.0.10 NN1 ZK RM 7c3a3c9cd595 hadoop2 172.17.0.9 NN2 ZK RM JOBHIS f89eaf2a2548 hadoop3 172.17.0.8 DN ZK ND 28620eee1426 hadoop4 172.17.0.7 DN QJM1 ND ae1f06bd04c8 hadoop5 172.17.0.6 DN…
什么是hadoop? Hadoop 是 Apache 旗下的一个用 java 语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台.允许使用简单的编程模型在大量计算机集群上对大型数据集进行分布式处理. hadoop提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理. 狭义上来说hadoop 指 Apache 这款开源框架,它的核心组件有: hdfs(分布式文件系统)(负责文件读写) yarn(运算资源调度系统)(负责为MapReduce程序分配运算硬件资源)…
相对于之前主要生产发布版本Hadoop 2,Apache Hadoop 3整合许多重要的增强功能. Hadoop 3是一个可用版本,提供了稳定性和高质量的API,可以用于实际的产品开发.下面简要介绍一下Hadoop3的主要变化. 最低Java版本要求从Java7变为Java8 所有Hadoop的jar都是基于Java 8运行是版本进行编译执行的,仍在使用Java 7或更低Java版本的用户需要升级到Java 8. HDFS支持纠删码(erasure coding) 纠删码是一种比副本存储更节省存…
实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班级 软工三班 专业名称 软件工程 实验组 其他成员 无 实验地点 F110 实验成绩 (教师签名)   实验目的与要求 了解PageRank算法 学会用mapreduce解决实际的复杂计算问题 搭建hadoop分布式集群 编写mapreduce代码 根据输入的网页链接数据,能够得到最终的pagera…
Hadoop 3.x 与Hadoop 2.x 的区别和优化点 通用性 1.精简Hadoop内核,包括剔除过期的API和实现,将默认组件实现替换成最高效的实现(比如将FileOutputCommitter缺省实现换为v2版本,废除hftp转由webhdfs替代,移除Hadoop子实现序列化库org.apache.hadoop.Records. 2.Classpath isolation:以防止不同版本jar包冲突,比如google Guava在混合使用Hadoop.HBase和Spark时,很容易…
1.类型转化在C#中有很多,常用的是int类型转string等,这些都有微软给我们定义好的,我们需要的时候直接调用就是了,这是值类型中的转化,有时候我们还会需要类类型(包括结构struct)的转化,还记得在继承中,子类可以隐式转化成父类,这是因为他们之间的继承关系.若是两个没有关系的类之间要进行转化的话就需要自定义类型转化.自定义的类型转化必须为静态类型,需要explicit关键字或者implicit关键字以及operator关键字格式大体上是:访问修饰符 static implicit/exp…
Hadoop家族成员概述 一.Hadoop简介 1.1 什么是Hadoop? Hadoop是一个分布式系统基础架构,由Apache基金会所开发,目前Yahoo!是其最重要的贡献者. Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,用户可以在不了解分布式底层细节的情况下,开发分布式应用程序,充分利用集群的威力高速运算和存储. 1.2 Hadoop的特点 高扩容能力:能可靠地存储和处理千兆字节(PB)的数据. 成本低:可以通过普通机…
今天在进行代码测试时发现,尝试在一个方法中定义一个委托,注意是定义一个委托,而不是声明一个委托变量,在编写的时候没有报错,VS也能智能提示,但在编译时却报语法不完整,缺少方括号,但实际查询并没有缺少,想不通原因,将委托定义移到类中,报错消失,编译成功了. 先看一下报错的源码:(实际上不只委托类型,所有的自定义类型均报错) class Class2 { public void Test() { delegate void testDel(string p); //是错误的 event testDe…
前言:对于java的基本数据类型及一些系统类(如Date类.集合类),Struts2提供了内置类型转换功能,但是也有一定的限制.所以就演示出自定义类型转换器 一.应用于局部类型转换器 eg.用户登录出生日期只能用2016-06-09的方式才能转化成功,那么2016/06/09就不能转换成功所以就引出来我们的自定义类型转换器 1首先我们将做准备工作 1)login.jsp注册页面 <%@ page language="java" import="java.util.*&q…