上代码: public class TridentWordCount { public static class Split extends BaseFunction { @Override public void execute(TridentTuple tuple, TridentCollector collector) { String sentence = tuple.getString(0); for (String word : sentence.split(" ")) {…
一:自定义实现InputFormat *数据源来自于内存 *1.InputFormat是用于处理各种数据源的,下面是实现InputFormat,数据源是来自于内存. *1.1 在程序的job.setInputFormatClass(MyselfmemoryInputFormat.class); *1.2 实现InputFormat,extends InputFormat< , >,实现其中的两个方法,分别是getSplits(..),createRecordReader(..). *1.3 g…
例子需求: spout:向后端发送{"sentence":"my dog has fleas"}.一般要连数据源,此处简化写死了. 语句分割bolt(SplitSentenceBolt):订阅spout发送的tuple.每收到一个tuple,bolt会获取"sentence"对应值域的值,然后分割为一个个的单词.最后,每个单词向后发送1个tuple: {"word":"my"} {"word&qu…
/** * 单词计数 */ public class LocalTridentCount { public static class MyBatchSpout implements IBatchSpout { Fields fields; HashMap<Long, List<List<Object>>> batches = new HashMap<Long, List<List<Object>>>(); public MyBatch…
package com.mengyao.storm; import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.apache.commons.io.FileUtils; import…
前言:阅读笔记 storm和hadoop集群非常像.hadoop执行mr.storm执行topologies. mr和topologies最关键的不同点是:mr执行终于会结束,而topologies永远执行直到你kill. storm集群有两种节点:master和worker. master执行一个后台进程Nimbus,和hadoop的jobtracker相似. Nimbus负责在集群中分发代码.为工作节点分配任务,并监控故障. worker执行一个后台进程Supervisor. supervi…
最近在看google那篇经典的MapReduce论文,中文版可以参考孟岩推荐的 mapreduce 中文版 中文翻译 论文中提到,MapReduce的编程模型就是: 计算利用一个输入key/value对集,来产生一个输出key/value对集.MapReduce库的用户用两个函数表达这个计算:map和reduce. 用户自定义的map函数,接受一个输入对,然后产生一个中间key/value对集.MapReduce库把所有具有相同中间key I的中间value聚合在一起,然后把它们传递给reduc…
1.集群部署的基本流程 2.集群部署的基础环境准备 3.Storm集群部署 4.Storm集群的进程及日志熟悉 5.Storm集群的常用操作命令 6.Storm源码下载及目录熟悉 7.Storm 单词计数案列 1.集群部署的基本流程 集群部署的流程:下载安装包.解压安装包.修改配置文件.分发安装包.启动集群 注意:所有的集群上都需要配置hosts:vi /etc/hosts 2.集群部署的基础环境准备 1.storm安装依赖Python,所以在安装前请确保Python已经安装成功了 [root@…
   前言: 根据前面的几篇博客学习,现在可以进行MapReduce学习了.本篇博客首先阐述了MapReduce的概念及使用原理,其次直接从五个实验中实践学习(单词计数,二次排序,计数器,join,分布式缓存). 一 概述 定义 MapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE).这样做的好处是可以在任务被分解后,可以通过大量机器进行并行计算,减少整个操作的时间. 适用范围:数据量大,但是数据种类小可以放入内存. 基…
1. 集群部署的基本流程 集群部署的流程:下载安装包.解压安装包.修改配置文件.分发安装包.启动集群 注意: 所有的集群上都需要配置hosts vi  /etc/hosts 192.168.239.128 storm01 zk01 hadoop01 192.168.239.129 storm02 zk02 hadoop02 192.168.239.130 storm03 zk03 hadoop03 1. 集群部署的基础环境准备 安装前的准备工作(zk集群已经部署完毕) l 关闭防火墙 chkco…