Ruby调用Hadoop集群实战(草稿)
2016-06-20 09:26
603 查看
核心: 使用Hadoop Streaming来兼容非Java的编程语言, 如 Ruby, Python, php
目录:
一个例子
一个python的WordCount
Hadoop Streaming的机制
只要使用Unix标准输入输出 任何语言都可以使用Hadoop
几种Hadoop编程方式比较
(1)java。 Hadoop支持的最好最全面的语言,而且提供了很多工具方便程序员开发。
(2)Hadoop Streaming。 它最大的优点是支持多种语言,但效率较低,reduce task需等到map 阶段完成后才能启动; 它只支持text数据格式. 它不支持用户自定义InputFormat, 请使用Hadoop自带的TextInputFormat或KeyValueTextInputFormat. 如果用户想指定输入文件格式,在命令行中指定分隔符, 具体来说:
(3)Hadoop Pipes。 专门为C/C++语言设计,由于其采用了socket方式让C/C++与java通信,因而其效率较低(其优势在于,但作业需要大量,速度很快)。它支持用户(用C/C++)编写RecordReader。
(4)Pydoop。它是专门方便python程序员编写MapReduce作业设计的,其底层使用了Hadoop Streaming接口和libhdfs库。
目录:
一个例子
一个python的WordCount
Hadoop Streaming的机制
只要使用Unix标准输入输出 任何语言都可以使用Hadoop
几种Hadoop编程方式比较
一个例子
转自http://sishuok.com/forum/blogPost/list/5442.html一个python的WordCount
转自http://shiyanjun.cn/archives/336.htmlHadoop Streaming的机制
只要使用Unix标准输入输出, 任何语言都可以使用Hadoop
几种Hadoop编程方式比较
转自http://dongxicheng.org/mapreduce/writing-hadoop-programes/(1)java。 Hadoop支持的最好最全面的语言,而且提供了很多工具方便程序员开发。
(2)Hadoop Streaming。 它最大的优点是支持多种语言,但效率较低,reduce task需等到map 阶段完成后才能启动; 它只支持text数据格式. 它不支持用户自定义InputFormat, 请使用Hadoop自带的TextInputFormat或KeyValueTextInputFormat. 如果用户想指定输入文件格式,在命令行中指定分隔符, 具体来说:
1. Hadoop默认的InputFormat是TextInputFormat,它将文件中的每一行作为value,该行的偏移量为key。 2. 如果你的输入是文本文件,且每一行包括key,value,则可使用Hadoop中自带的KeyValueTextInputFormat, 它默认的每行是一个key/value对,且key与value的分割如为TAB(’\t‘) 如果想修改key/value之间的分隔符,如将分割符改为“,”,可使用命令行参数: -D key.value.separator.in.input.line=,。
(3)Hadoop Pipes。 专门为C/C++语言设计,由于其采用了socket方式让C/C++与java通信,因而其效率较低(其优势在于,但作业需要大量,速度很快)。它支持用户(用C/C++)编写RecordReader。
(4)Pydoop。它是专门方便python程序员编写MapReduce作业设计的,其底层使用了Hadoop Streaming接口和libhdfs库。
相关文章推荐
- 详解HDFS Short Circuit Local Reads
- Hadoop_2.1.0 MapReduce序列图
- 使用Hadoop搭建现代电信企业架构
- 单机版搭建Hadoop环境图文教程详解
- 红宝石(Ruby)史话
- Ruby简明教程之循环语句介绍
- ruby 一些简单的例子
- Ruby on Rails在Ping ++ 平台实现支付
- Ruby 之 class 中的 private、 protected、public
- Ruby中操作文件的方法介绍
- 详解Ruby中的单件方法和单件类
- Ruby中的集合编写指南
- CentOS 6.3下编译安装Ruby 2.0笔记
- Ruby基本的环境变量设置以及常用解释器命令介绍
- 详解Ruby中的代码块及其参数传递
- Ruby编程中关于中断和返回的用法教程
- Ruby中的异常处理代码编写示例
- Ruby程序中发送基于HTTP协议的请求的简单示例
- Ruby中的变量学习总结