MapReduce
shujuboke
90后Java程序员,十年编程经验!目前专注于大学生项目实战开发,讲解,毕业答疑辅导以及产品测评、宣传、工具推广等合作。
展开
-
Windows下Eclispe远程开发Mapreduce程序
Windows下Eclispe远程开发Mapreduce程序1.将hadoop-eclipse-plugin-2.6.0.jar拷贝到MyEclispe安装目录下的/plugins文件夹下2.Windows安装hadoop 1)解压hadoop-2.5.0.tar.gz到D:/根目录 右键winrar--》属性--》兼容性-》勾选 以管理员运行此程序原创 2017-06-30 00:10:03 · 729 阅读 · 0 评论 -
MapReduce多路径输入与多文件输出
我前段时间在完成一个公司业务时,遇到了一个这样的需求:将HDFS上按每天每小时存储的数据进行数据预处理,然后对应按天存储在HDFS........由此可得,MapReduce的输入路径是:[plain] view plain copy/user/data/yyyy/MM/dd/HH/ 每天有24小时,dd/目录下转载 2017-08-15 20:51:32 · 2374 阅读 · 0 评论 -
MapReduce处理输出多文件格式(MultipleOutputs)
MultiPleOutputs原理MapReduce job中,可以使用FileInputFormat和FileOutputFormat来对输入路径和输出路径来进行设置。在输出目录中,框架自己会自动对输出文件进行命名和组织,如part-(m|r)-00000之类,但有时为了后续流程的方便,我们常需要对输出结果进行一定的分类和组织。以前常用的方法是在MR job运行之后,用脚本对目录下的转载 2017-08-15 20:49:12 · 2285 阅读 · 0 评论 -
MapReduce对输入多文件的处理
MultipleInputs类指定不同的输入文件路径以及输入文化格式 现有两份数据 phone 123,good number 124,common number 125,bad number user zhangsan,123 lisi,124 wangwu,125 现在需要把user和phone按照phone number连接起来。得到下面的结果转载 2017-08-15 20:46:11 · 2281 阅读 · 0 评论 -
hadoop reduce 阶段遍历 Iterable 的 2 个“坑”
之前有童鞋问到了这样一个问题:为什么我在 reduce 阶段遍历了一次 Iterable 之后,再次遍历的时候,数据都没了呢?可能有童鞋想当然的回答:Iterable 只能单向遍历一次,就这样简单的原因。。。事实果真如此吗?还是用代码说话:[java] view plain copypackage com.test;转载 2017-08-15 20:44:46 · 248 阅读 · 0 评论 -
MapReduce WordCount源码解析
单词计数是最简单也是最能体现MapReduce思想的程序之一,该程序完整的代码可以在Hadoop安装包的src/examples目录下找到单词计数主要完成的功能是:统计一系列文本文件中每个单词出现的次数,如图所示: 1)源代码程序package org.apache.hadoop.examples;import java.io.I原创 2017-07-27 21:52:15 · 331 阅读 · 0 评论 -
MapReduce 编程模板
一. MapReduce编程模板类结构图二. MapReduce模板代码骨架package com.hadoop.senior.mapreduce;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Conf原创 2017-07-27 15:46:30 · 343 阅读 · 0 评论 -
StringTokenizer的用法详解
StringTokenizer类:根据自定义字符为分界符进行拆分,并将结果进行封装提供对应方法进行遍历取值,StringTokenizer 方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释;该方法用途类似于split方法,只是对结果进行了封装;StringTokenizer的三个构造方法:1.StringTokenizer(String str) :被分割对象str,分隔符原创 2017-07-25 19:25:08 · 14638 阅读 · 0 评论 -
初学hadoop程序之---------------Iterable<T>迭代器
Java中迭代器的使用由于Java中数据容器众多,而对数据容器的操作在很多时候都具有极大的共性,于是Java采用了迭代器为各种容器提供公共的操作接口------说明与具体的数据结构无关。使用Java的迭代器iterator可以使得对容器的遍历操作完全与其底层相隔离,可以到达极好的解耦效果。 public interface Iterable IteratorT> iterator()转载 2017-08-15 23:34:39 · 684 阅读 · 0 评论