hadoop2.2编程:用ruby跑hadoop的完整实例
#!/usr/bin/ruby
# Ruby code for map.rb
ARGF.each do |line|
# remove any newline
line = line.chomp
# do nothing will lines shorter than 2 characters
next if ! line || line.length < 2
# grab our key as the two-character prefix (lower-cased)
key = line[0,2].downcase
# value is a count of 1 occurence
value = 1
# output to STDOUT
# <key><tab><value><newline>
puts key + "\t" + value.to_s
end
#!/usr/bin/ruby
# Ruby code for reduce.rb
prev_key = nil
key_total = 0
ARGF.each do |line|
# remove any newline
line = line.chomp
# split key and value on tab character
(key, value) = line.split(/\t/)
# check for new key
if prev_key && key != prev_key && key_total > 0
# output total for previous key
# <key><tab><value><newline>
puts prev_key + "\t" + key_total.to_s
# reset key total for new key
prev_key = key
key_total = 0
elsif ! prev_key
prev_key = key
end
# add to count for this current key
key_total += value.to_i
end
#!/bin/bash HADOOP_HOME=/home/grid/hadoop JAR=contrib/streaming/hadoop--streaming.jar HSTREAMING="$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/$JAR" $HSTREAMING \ -mapper 'map.rb' \ # or -mapper 'ruby map.rb' -reducer 'reduce.rb' \ # or -reducer 'reducer.rb' -file map.rb \ # file path does not need specify full path -file reduce.rb \ -input '/user/grid/input/*' \ -output '/user/grid/output'
cmd line: %bin/hadoop jar ~/hadoop/contrib/streaming/hadoop--streaming.jar -input NCDC/files -output output -mapper Map.rb -reducer Reduce.rb
hadoop2.2编程:用ruby跑hadoop的完整实例的更多相关文章
- 在Docker中跑Hadoop与镜像制作
重复造轮子,这里使用重新打包生成一个基于Docker的Hadoop镜像: Hadoop集群依赖的软件分别为:jdk.ssh等,所以只要这两项还有Hadoop相关打包进镜像中去即可: 配置文件准 ...
- 在eclipse上跑hadoop的helloworld
关于hadoop的用处什么我就不说了,在这里记录下在eclipse上第一次跑hadoop遇到的问题吧~ hadoop的安装我就不说啦,网上教程一大堆~我直接用的公司的Linux上的hadoop. ec ...
- [.net 面向对象编程基础] (9) 类和类的实例
[.net 面向对象编程基础] (9) 类和类的实例 类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功 ...
- 在Linux(Centos7)系统上对进行Hadoop分布式配置以及运行Hadoop伪分布式实例
在Linux(Centos7)系统上对进行Hadoop分布式配置以及运行Hadoop伪分布式实例 ...
- hadoop2.2编程:hadoop性能测试
<hadoop the definitive way>(third version)中的Benchmarking a Hadoop Cluster Test Cases 的class在新的 ...
- hadoop2.2编程:自定义hadoop map/reduce输入文件切割InputFormat
hadoop会对原始输入文件进行文件切割,然后把每个split传入mapper程序中进行处理,FileInputFormat是所有以文件作为数据源的InputFormat实现的基类,FileInput ...
- MapReduce编程模型及其在Hadoop上的实现
转自:https://www.zybuluo.com/frank-shaw/note/206604 MapReduce基本过程 关于MapReduce中数据流的传输过程,下图是一个经典演示: 关于上 ...
- hadoop2.2编程:使用MapReduce编程实例(转)
原文链接:http://www.cnblogs.com/xia520pi/archive/2012/06/04/2534533.html 从网上搜到的一篇hadoop的编程实例,对于初学者真是帮助太大 ...
- hadoop2.2编程:各种API
hadoop2.2 API http://hadoop.apache.org/docs/r0.23.9/api/index.html junit API http://junit.org/javado ...
随机推荐
- Oracle每10天删除数据,并重建索引
declare datDateFrom date := to_date('2010/08/01 00:00:00','yyyy/mm/dd hh24:mi:ss'); datDateTo date; ...
- 374. Guess Number Higher or Lower
We are playing the Guess Game. The game is as follows: 我们来玩一个游戏,规则如下: I pick a number from 1 to n. Y ...
- Basic MSI silent install
Articles and post about silent install for Basic MSI, InstallScript, InstallScript MSI: Silent-mode ...
- 简单模拟Hibernate的主要功能实现
在学习期间接触到Hibernate框架,这是一款非常优秀的O/R映射框架,大大简化了在开发web项目过程中对数据库的操作.这里就简单模拟其底层的实现. /*******代码部分,及其主要注解***** ...
- Linux下Qt环境的搭建
之前一直使用Ubuntu软件中心中的Qt4开发Qt的应用程序,现在转到Linux下来做Qt5开发,但是必须从Qt官网上面下载对应的安装包,配置起来相对麻烦一些,这里介绍整个开发流程. 首先,在官网上面 ...
- C++字符串函数与C字符串函数比较
赋值拷贝: #include <iostream> #include <string> using namespace std; void main(){ string a=& ...
- JEECG开发总结
一:datagrid列表 (1)时间:<t:dgCol title="创建时间" field="createtime" width="60&qu ...
- Cognos 多维源目录树的任何单个维度中显示的最大项目数(默认为50)的设置规则
问题描述: 具体设置 设置成功.
- Vm image download resource
http://vmdepot.msopentech.com/List/Index http://www.hanselman.com/blog/Over400VirtualMachineImagesOf ...
- UGUI-组件
2015-06-22 UGUI 组件 Canvas 画布 The Canvas component represents the abstract space in which the UI is l ...