In the last post we saw how to write a MapReduce program for finding the top-n items of a dataset. The code in the mapper emits a pair key-value for every word found, passing the word as the key and 1 as the value. Since the book has roughly 38,000 w…
1.2MapReduce 和 HDFS 是如何工作的 MapReduce 其实是两部分,先是 Map 过程,然后是 Reduce 过程.从词频计算来说,假设某个文件块里的一行文字是”Thisis a small cat. That is a smalldog.”,那么,Map 过程会对这一行进行处理,将每个单词从句子解析出来,依次生成形如<“this”,1>, <”is”, 1>, <”a”, 1>, <”small”, 1>,<”cat”, 1>…
hive介绍 什么是hive? hive:由Facebook开源用于解决海量结构化日志的数据统计 hive是基于hadoop的一个数据仓库工具,可以将结构化的数据映射为数据库的一张表,并提供类SQL查询功能.本质就是将HQL(hive sql)转化为MapReduce程序 我们使用MapReduce开发会很麻烦,但是程序员很熟悉sql,于是hive就出现了,可以让我们像写sql一样来编写MapReduce程序,会自动将我们写的sql进行转化.但底层使用的肯定还是MapReduce. hive处理…
本文的目的是实现在windows环境下实现模拟运行Map/Reduce程序.最终实现效果:MapReduce程序不会被提交到实际集群,但是运算结果会写入到集群的HDFS系统中. 一.环境说明:     操作系统:win7     eclipse:Version: Mars Release (4.5.0)     hadoop:2.5.1 二.预备文档(仅是说明,以第三步为准): System.setProperty("HADOOP_USER_NAME", "root"…
按此文章<Hadoop集群(第7期)_Eclipse开发环境设置>进行MapReduce开发环境搭建的过程中遇到一些问题,饶了一些弯路,解决办法记录在此: 文档目的: 记录windows环境下Eclipse开发MapReduce程序遇到的四个问题及解决办法: 问题一:程序运行时报JobTracker is in safe mode: security.UserGroupInformation: PriviledgedActionException as:hadoop cause:org.apa…
今天主要来说说怎么在Hadoop2.2.0分布式上面运行写好的 Mapreduce 程序. 可以在eclipse写好程序,export或用fatjar打包成jar文件. 先给出这个程序所依赖的Maven包: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&quo…
简介: 最近在写MapReduce程序处理日志时,需要解析JSON配置文件,简化Java程序和处理逻辑.但是Hadoop本身似乎没有内置对JSON文件的解析功能,我们不得不求助于第三方JSON工具包.这里选择json-simple实现我们的功能. 在Hadoop上执行Java程序的命令如下所示: [hadoop@localhost]$ hadoop jar my-mapreduce.jar my-mapreduce.jar是我们进行日志处理的MapReduce程序.现在假定我们需要在其中处理JS…
 hadoop map-reduce程序的编译需要依赖hadoop的jar包,我尝试javac编译map-reduce时指定-classpath的包路径,但无奈hadoop的jar分布太散乱,根据自己写的程序来一个个指定jar包的位置又太麻烦,于是又尝试修改java的classpath配置文件,结果不知道为什么编译时还是提示找不到jar包,于是只有用最后一劳永逸的方法:把hadoop的所有jar包都copy到java当前classpath寻找的路径文件中: 我的hadoop安装在/usr/loc…
1.写hadoop的map-reduce程序之前所必须知道的基础知识: 1)hadoop map-reduce的自带的数据类型: Hadoop提供了如下内容的数据类型,这些数据类型都实现了WritableComparable接口,以便用这些类型定义的数据可以被序列化进行网络传输和文件存储,以及进行大小比较.(如果是自定义的key,value的数据类型,必须也要写其大小比较的方法) BooleanWritable:标准布尔型数值 ByteWritable:单字节数值 DoubleWritable:…
折腾了半天.终于编写成功了第一个自己的mapreduce程序,并通过打jar包的方式运行起来了. 运行环境: windows 64bit eclipse 64bit jdk6.0 64bit 一.工程准备 1.新建java project 2.导入jar包 新建一个user library 把hadoop文件夹里的hadoop-core和lib包里的所有包都导入进来,以免出错. 二.编码 1.主要是计算单词的小程序,测试用 package com.hirra; import java.io.IO…