ruby来写hadoop的mapreduce,我用的方法是rubydoop。怎么配置环境呢:
1.安装rvm:
不说了 网上有
2.安装ruby:
由于我以前是做ruby的,所以习惯性的先安装了ruby,起码调试起来比jruby快多了。
3.安装jruby:
rvm install jruby然后等待安装完成
4.给编写mapreduce的目录设置默认的ruby版本和gemset:
进入到目标目录,执行rvm --create --ruby-version jruby-1.7.19@hadoop
生成两个文件.ruby-version和.ruby-gemset,一个是定义当前目录的默认ruby版本,一个是定义默认的gemset。
有了这两个文件已进入这个目录rvm自动帮你切换到jruby@hadoop,这样才能运行rubydoop。
5.编写代码:
需要说明的是目录结构必须是
├── Gemfile
├── lib
│ ├── word_count_job.rb
│ └── word_count.rb
└── Rakefile
如果没有需要安装的gem,则touch个空的Gemfile就好,所有的代码都放在lib目录下。
6.生成jar包:
rake package
7.用hadoop运行生成的jar包:
hadoop jar build/word_count.jar word_count_job path/to/input path/to/output
相关推荐
在Hadoop的MapReduce任务中,有时需要使用C或C++等非Java语言,这是因为开发团队可能更熟悉这些语言,或者已有代码库是用这些语言编写的。为此,Hadoop提供了三种方法来实现这一目标:Hadoop Streaming、Hadoop ...
这意味着除了Java之外,还可以使用Python、Perl、Ruby等脚本语言来编写MapReduce任务。 2. **调试便利**: 由于MapReduce程序通过标准输入输出流与框架交互,因此可以很容易地在本地计算机上调试MapReduce任务。开发...
Hadoop Streaming是Hadoop的MapReduce编程模型的一个工具,它允许用户使用非Java语言编写MapReduce作业,使得其他编程语言如Python、Ruby和Perl等能够处理Hadoop上的大数据。Hadoop Streaming通过将数据流式传输到...
这个特性极大地拓宽了 Hadoop 的应用范围,因为用户可以用熟悉的编程语言如 Python、Ruby 或 Bash shell 来处理数据。 **Hadoop Streaming 的工作原理** Hadoop Streaming 通过 Unix 标准输入和输出(stdin 和 ...
在解压“hbase-1.2.6-bin.tar.gz”后,你会得到HBase的二进制文件,包括启动脚本、配置文件、JAR包等。要运行HBase,你需要配置环境变量,如HBASE_HOME,并设置相应的Hadoop配置。然后,可以通过启动HMaster和...
压缩包中的"hbase-1.2.4-bin.tar.gz"是HBase的1.2.4版本二进制发行版,包含了运行和管理HBase所需的所有文件,包括JAR包、配置文件、脚本等。安装时,首先需要解压此文件,然后根据官方文档配置环境变量、Hadoop连接...
数据科学虚拟机 ##需要安装以下Gems vagrant插件 install vagrant-omnibus vagrant plugin ...sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 10 100