随笔分类 -  Hadoop1.x

摘要:集群 计算机集群是一种计算机系统,他通过一组松散集成的计算机软件和硬件连接起来高度紧密地协同完成计算工作。 集群系统中的单个计算机通常称为节点,通常通过局域网连接。 集群技术的特点: 1、通过多台计算机完成同一个工作。达到更高的效率 2、两机或多机内容、工作过程等完全一样。如果一台死机,另一台可以起 阅读全文
posted @ 2017-04-04 23:08 ahu-lichang 阅读(585) 评论(0) 推荐(0)
摘要:shuffle的过程分析 shuffle阶段其实就是之前《MapReduce的原理及执行过程》中的步骤2.1。多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点上。 Map端: 1、在map端首先接触的是InputSplit,在InputSplit中含有DataNode中 阅读全文
posted @ 2017-04-04 16:08 ahu-lichang 阅读(9797) 评论(9) 推荐(1)
摘要:自定义分组 job.setGroupingComparatorClass(MyGroupingComparator.class); //按照第一列进行分组,然后找出每个分组中的第二列中的最小值 为什么要自定义分组? 业务要求分组是按照第一列分组,但是NewK2的比较规则决定了不能按照第一列分。只能自 阅读全文
posted @ 2017-04-04 15:08 ahu-lichang 阅读(662) 评论(0) 推荐(0)
摘要:自定义排序 将两列数据进行排序,第一列按照升序排列,当第一列相同时,第二列升序排列。 在map和reduce阶段进行排序时,比较的是k2。v2是不参与排序比较的。如果要想让v2也进行排序,需要把k2和v2组装成新的类,作为k2,才能参与比较。 Hadoop序列化 序列化概念: 序列化:把结构化对象转 阅读全文
posted @ 2017-04-04 13:49 ahu-lichang 阅读(1049) 评论(0) 推荐(0)
摘要:MapReduce常见算法 单词计数 数据去重 排序 Top K 选择 以求最值为例,从100万数据中选出一行最小值 投影 以求处理手机上网日志为例,从其11个字段选出了五个字段(列)来显示我们的手机上网流量 分组 相当于分区,以求处理手机上网日志为例,喊手机号和非手机号分为两组 多表连接 单表关联 阅读全文
posted @ 2017-04-03 11:57 ahu-lichang 阅读(1038) 评论(0) 推荐(0)
摘要:使用自定义partitioner来处理手机上网日志信息 为什么要使用分区? 1.根据业务需要,产生多个输出文件 2.多个reduce任务在运行,提高整体job的运行效率 将上面代码打包导出,复制到Linux中,然后在命令行下执行并查看结果,也可以在chaoren:50030中查看到作业的相关情况 阅读全文
posted @ 2017-04-01 23:24 ahu-lichang 阅读(8580) 评论(0) 推荐(0)
摘要:Combiner编程(1.5可选步骤,视情况而定!) 每一个map可能会产生大量的输出,combiner的作用就是在map端对输出先做一次合并,以减少传输到reducer的数据量。 combiner最基本是实现本地key的归并,combiner具有类似本地的reduce功能。 如果不用combine 阅读全文
posted @ 2017-04-01 21:32 ahu-lichang 阅读(6151) 评论(2) 推荐(2)
摘要:自定义计数器的使用(记录敏感单词) 在eclipse中运行后,可以在控制台查看到结果: 阅读全文
posted @ 2017-04-01 15:49 ahu-lichang 阅读(418) 评论(0) 推荐(0)
摘要:WordCountApp命令行运行时指定参数 1、修改之前的WordCountApp.java的代码 2、修改完之后,不是在eclipse中运行,而是要打包导出,然后通过WinSCP复制到Linux中/usr/local目录下。 3、在Linux命令行中运行,运行成功后,在查看运行后的结果。 阅读全文
posted @ 2017-04-01 00:07 ahu-lichang 阅读(618) 评论(0) 推荐(0)
摘要:使用Hadoop版本0.x实现单词统计 查看结果: 阅读全文
posted @ 2017-03-31 17:27 ahu-lichang 阅读(336) 评论(0) 推荐(0)
摘要:job提交源码分析 在eclipse中的写的代码如何提交作业到JobTracker中的哪?(1)在eclipse中调用的job.waitForCompletion(true)实际上执行如下方法 connect(); info = jobClient.submitJobInternal(conf); 阅读全文
posted @ 2017-03-30 23:19 ahu-lichang 阅读(679) 评论(0) 推荐(0)
摘要:MapReduce简介 MapReduce执行流程 MapReduce原理 MapReduce的执行步骤: 1、Map任务处理 1.1 读取HDFS中的文件。每一行解析成一个<k,v>。每一个键值对调用一次map函数。 <0,hello you> <10,hello me> 1.2 覆盖map(), 阅读全文
posted @ 2017-03-30 11:20 ahu-lichang 阅读(114078) 评论(4) 推荐(7)
摘要:在eclipse中调用JavaAPI实现HDFS中的相关操作 1、创建一个java工程 2、右键工程,在属性里添加上hadoop解压后的相关jar包(hadoop目录下的jar包和lib目录下的jar包) 3、调用相关代码,实现相关hdfs操作 RPC 1.1 RPC (remote procedu 阅读全文
posted @ 2017-03-29 21:28 ahu-lichang 阅读(1783) 评论(0) 推荐(1)
摘要:Bad connection to FS. command aborted. exception: Call to chaoren/192.168.80.100:9000 failed on connection exception: java.net.ConnectException: Conne 阅读全文
posted @ 2017-03-29 12:18 ahu-lichang 阅读(653) 评论(0) 推荐(0)
摘要:HDFS fs 常用命令 1.对hdfs操作的命令格式是hadoop fs 1.1 -ls <path> 表示对hdfs下一级目录的查看 hadoop fs -ls hdfs://chaoren:9000/ 对HDFS的根目录进行查看(Linux下:ls /) path:这个可以使用more cor 阅读全文
posted @ 2017-03-29 12:11 ahu-lichang 阅读(329) 评论(0) 推荐(0)
摘要:Hadoop简单介绍 Hadoop:适合大数据分布式存储与计算的平台。 Hadoop两大核心项目: 1、HDFS:Hadoop分布式文件系统 HDFS的架构: 主从结构: 主节点,只有一个:namenode 1、接收用户操作请求 2、维护文件系统的目录结构 3、管理文件与block之间关系,bloc 阅读全文
posted @ 2017-03-27 22:23 ahu-lichang 阅读(290) 评论(0) 推荐(0)
摘要:Hadoop学习前准备工作 1、安装虚拟机(常用虚拟机:VirtualBox、VMWare)2、安装Linux操作系统(可以直接将打包好的Linux操作系统的镜像文件拿来用,鼠标右键打开,打开方式选择一个虚拟机即可。) 常见Linux操作系统:Redhat、centos、ubuntu3、打开虚拟机后 阅读全文
posted @ 2017-03-27 22:12 ahu-lichang 阅读(1036) 评论(0) 推荐(1)