- 浏览: 7928913 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
在 mapreduce中,比如有如下的词:
I love beijing
i love cina
beijing is the captial of china
统计的时候,如下图:
注意上图中,最左边的偏移量第一个为1,然后I LOVE CHINA中,I是第4个单词了;所以偏移量为4;
然后进行分词,
然后K3就是把每个单词归类的KEY,然后V3(1,1),就是说I这个单词,统计的频率;
相关的mapper的编写:
reduce:
主程序:
I love beijing
i love cina
beijing is the captial of china
统计的时候,如下图:
注意上图中,最左边的偏移量第一个为1,然后I LOVE CHINA中,I是第4个单词了;所以偏移量为4;
然后进行分词,
然后K3就是把每个单词归类的KEY,然后V3(1,1),就是说I这个单词,统计的频率;
相关的mapper的编写:
public class WordCountMapper extends Mapper<LongWritable, Text, Text, LongWritable> { @Override protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { /* * key: 输入的key * value: 数据 I love Beijing * context: Map上下文 */ String data= value.toString(); //分词 String[] words = data.split(" "); //输出每个单词 for(String w:words){ context.write(new Text(w), new LongWritable(1)); } } }
reduce:
public class WordCountReducer extends Reducer<Text, LongWritable, Text, LongWritable>{ @Override protected void reduce(Text k3, Iterable<LongWritable> v3,Context context) throws IOException, InterruptedException { //v3: 是一个集合,每个元素就是v2 long total = 0; for(LongWritable l:v3){ total = total + l.get(); } //输出 context.write(k3, new LongWritable(total)); } }
主程序:
public class WordCountMain { public static void main(String[] args) throws Exception { //创建一个job = map + reduce Configuration conf = new Configuration(); //创建一个Job Job job = Job.getInstance(conf); //指定任务的入口 job.setJarByClass(WordCountMain.class); //指定job的mapper job.setMapperClass(WordCountMapper.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(LongWritable.class); //指定job的reducer job.setReducerClass(WordCountReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(LongWritable.class); //指定任务的输入和输出 FileInputFormat.setInputPaths(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); //提交任务 job.waitForCompletion(true); }
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1556方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 2015前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3460info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2226import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 486https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 676public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 602https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 664https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 432https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 5281 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3093微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 611https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1840什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 957本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1354原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 851public class Student { priv ... -
HDFS的基本操作
2018-05-02 21:47 931-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 764一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1902介绍个不错的RESTFUL MOCK的工具wiremock,地 ... -
LINUX下EPOLL等不错的文章收藏
2018-04-25 09:35 5531 通俗讲解 异步,非阻塞和 IO 复用 https:/ ...
相关推荐
### HBase从入门到精通——关键技术点解析 #### 一、HBase技术概览 **HBase**(Hadoop Database)是一种分布式、可扩展的NoSQL数据库系统,它基于Google Bigtable论文的思想构建而成,并且作为Apache Hadoop生态...
以下是几个关键点: - **硬件选择**:考虑CPU、内存和磁盘空间,以及网络带宽,以满足处理需求和集群规模。 - **网络规划**:使用高速网络连接所有节点,确保数据传输效率。 - **软件安装**:遵循官方文档进行安装,...
同时,快速入门还包括如何将Hadoop应用到实际的数据处理项目中,比如搭建本地开发环境、进行本地测试、编写MapReduce程序、在Hadoop集群上部署和运行程序等。 Hadoop框架的流行,主要因为其能够处理PB级别的数据量...
MapReduce作为早期的大数据处理框架,其局限性主要体现在以下几点: 1. 只支持Map和Reduce两种操作,无法满足复杂的计算需求。 2. 迭代计算效率低,对于需要反复迭代的机器学习算法和图计算任务,性能较差。 3. 不...
以上即为Spark入门所需了解的知识点,涉及到了Spark的框架基础、原理、系统架构、环境配置以及核心概念RDD与DataFrame。随着对Spark理解的深入,用户可以有效地构建出适合自身需求的数据处理应用。
本教程将涵盖以下几个关键知识点: 1. **Spark概述**:讲解Spark的起源、设计理念以及它在大数据处理中的地位,对比Hadoop MapReduce,突出Spark的高效与灵活性。 2. **Spark架构**:深入理解Spark的RDD(弹性...
### 大数据技术之Hadoop(入门)知识点详解 #### 第1章 大数据概论 ##### 1.1 大数据概念 大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。这些数据具有体量巨大、来源多样化、格式...
- **zookeeper注意几点.doc**:该文档可能提到了使用ZooKeeper时的关键注意事项,包括配置、操作和维护的最佳实践。 - **j(精)HBase实例.doc**:这份文档可能包含了一些实际的HBase操作示例,展示如何创建表、插入...
根据提供的文件信息,我们可以总结出以下关于HBase与Hadoop结合使用的大数据系统入门的关键知识点: ### HBase简介 HBase是一种分布式、可扩展的列式存储系统,它基于Google的Bigtable论文设计并实现。HBase是...
根据提供的文件信息,“hbase入门到精通.txt”,我们可以推断出文档主要涵盖了HBase的相关知识。下面将基于这个假设来生成一系列与HBase相关的知识点。 ### HBase简介 HBase是一个分布式、多维、排序的映射表,该...
### Hadoop入门学习文档知识点梳理 #### 一、大数据概论 ##### 1.1 大数据概念 - **定义**:大数据是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。 - **特点**: - **Volume(大量)...