MapReduce编程实例

《机器学习实战》

1top K 问题。

在搜索中,我们常常需要搜索最近热门的K个搜索词,这是典型的top k问题。就可以分解成两个mapreduce.先完成统计词频,然后找出词频最高的的查询词。第一个作业是典型的WordCOUNT,第一个作业是用MAp函数。第二个任务是汇总每个map任务得到的查询词的前提,并输出频率最高的前k个查询词。

2k均值聚类算法

这是一个基于距离的距离算法.它采用距离作为相似性的评价指标,因为两个对象距离越近,他们相似度就越大。该算法可以抽奖成为:给定正整数k和n的对象如何将这些数据划分为K个聚类。

首先选择k个对象作为初始中心点,然后不断迭代计算,直到满足终止条件。直到迭代次数上限或者数据点到中心点距离的平方和最小。在I轮迭代中,Map计算每个对象到中心点的距离,选择每个对象最近的中心点并输出<Center point, Object>对。reduce走进每个聚类中对象的距离均值,并将这k中值作为下一轮初始中心点。

3贝叶斯分类

贝叶斯分类是一种利用概率统计知识进行分类,该方法包括两个步骤:训练样本分类。其中训练样本可由Map Reduce个作业完成。第一个作业抽取文档特征,只需要Map完成。第二个作业计算类别的先验概率。即统计,每个类别中文档的数目,并计算类别概率。第三个作业,计算单词的条件概率,并计算<Label,Word>,所有文档中出现的次数并计算单词的条件概率。后两个作业的具体实现类似于WordCount。

时间: 2024-10-13 23:58:57

MapReduce编程实例的相关文章

MapReduce编程实例5

前提准备: 1.hadoop安装运行正常.Hadoop安装配置请参考:Ubuntu下 Hadoop 1.2.1 配置安装 2.集成开发环境正常.集成开发环境配置请参考 :Ubuntu 搭建Hadoop源码阅读环境 MapReduce编程实例: MapReduce编程实例(一),详细介绍在集成环境中运行第一个MapReduce程序 WordCount及代码分析 MapReduce编程实例(二),计算学生平均成绩 MapReduce编程实例(三),数据去重 MapReduce编程实例(四),排序 M

Hadoop 综合揭秘——MapReduce 编程实例(详细介绍 Combine、Partitioner、WritableComparable、WritableComparator 使用方式)

前言 本文主要介绍 MapReduce 的原理及开发,讲解如何利用 Combine.Partitioner.WritableComparator等组件对数据进行排序筛选聚合分组的功能.由于文章是针对开发人员所编写的,在阅读本文前,文章假设读者已经对Hadoop的工作原理.安装过程有一定的了解,因此对Hadoop的安装就不多作说明.请确保源代码运行在Hadoop 2.x以上版本,并以伪分布形式安装以方便进行调试(单机版会对 Partitioner 功能进行限制).文章主要利用例子介绍如何利用 Ma

MapReduce编程实战之“高级特性”

本篇介绍MapReduce的一些高级特性,如计数器.数据集的排序和连接.计数器是一种收集作业统计信息的有效手段,排序是MapReduce的核心技术,MapReduce也能够执行大型数据集间的""连接(join)操作. 计数器 计数器是一种收集作业统计信息的有效手段,用于质量控制或应用级统计.计数器还可用于辅助诊断系统故障.对于大型分布式系统来说,获取计数器比分析日志文件容易的多. 示例一:气温缺失及不规则数据计数器 import java.io.IOException; import

Hadoop MapReduce编程 API入门系列之挖掘气象数据版本2(九)

下面,是版本1. Hadoop MapReduce编程 API入门系列之挖掘气象数据版本1(一) 这篇博文,包括了,实际生产开发非常重要的,单元测试和调试代码.这里不多赘述,直接送上代码. MRUnit 框架 MRUnit是Cloudera公司专为Hadoop MapReduce写的单元测试框架,API非常简洁实用.MRUnit针对不同测试对象使用不同的Driver: MapDriver:针对单独的Map测试  ReduceDriver:针对单独的Reduce测试    MapReduceDri

MapReduce编程模型及其在Hadoop上的实现

转自:https://www.zybuluo.com/frank-shaw/note/206604 MapReduce基本过程 关于MapReduce中数据流的传输过程,下图是一个经典演示:  关于上图,可以做出以下逐步分析: 输入数据(待处理)首先会被切割分片,每一个分片都会复制多份到HDFS中.上图默认的是分片已经存在于HDFS中. Hadoop会在存储有输入数据分片(HDFS中的数据)的节点上运行map任务,可以获得最佳性能(数据TaskTracker优化,节省带宽). 在运行完map任务

暴力破解MD5的实现(MapReduce编程)

本文主要介绍MapReduce编程模型的原理和基于Hadoop的MD5暴力破解思路. 一.MapReduce的基本原理 Hadoop作为一个分布式架构的实现方案,它的核心思想包括以下几个方面:HDFS文件系统,MapReduce的编程模型以及RPC框架.无论是怎样的架构,一个系统的关键无非是存储结构和业务逻辑.HDFS分布式文件系统是整个Hadoop的基础.在HDFS文件系统之中,大文件被分割成很多的数据块,每一块都有可能分布在集群的不同节点中.也就是说在HDFS文件系统中,文件的情况是这样的:

MapReduce编程实践

一.MapReduce编程思想 学些MapRedcue主要是学习它的编程思想,在MR的编程模型中,主要思想是把对数据的运算流程分成map和reduce两个阶段: Map阶段:读取原始数据,形成key-value数据(map方法) Reduce阶段:把map阶段的key-value数据按照相同的key进行分组聚合(reduce方法) 它其实是一种数据逻辑运算模型,对于这样的运算模型,有一些成熟的具体软件实现,比如hadoop中的mapreduce框架.spark等,例如在hadoop的mr框架中,

Hadoop 实践(二) Mapreduce 编程

Mapreduce 编程,本文以WordCount  为例:实现文件字符统计 在eclipse 里面搭建一个java项目,引入hadoop lib目录下的jar,和 hadoop主目录下的jar. 新建WordCount 类: package org.scf.wordcount; import java.io.IOException; import java.util.*; import org.apache.hadoop.fs.Path; import org.apache.hadoop.co

Hadoop MapReduce编程 API入门系列之压缩和计数器(三十)

不多说,直接上代码. Hadoop MapReduce编程 API入门系列之小文件合并(二十九) 生成的结果,作为输入源. 代码 package zhouls.bigdata.myMapReduce.ParseTVDataCompressAndCounter; import java.net.URI; import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Co