目次
1. 新建项目
2. 数据准备
3. 运行项目
4.运行程序
?5. 结果查看

第一个Map/Reduce程序

Jun 07, 2016 pm 04:31 PM
mac map reduce 開発する プログラム 初め

当在MAC上搭建好开发环境之后,第一件事肯定是找一个hello world程序练习下。而hadoop世界的hello word程序就是下面的这个Word Count程序。 1. 新建项目 步骤:FileNewOtherMap/Reduce Project 项目名可以随便取,如MapReduceSample。然后新建类WordCount.ja

当在MAC上搭建好开发环境之后,第一件事肯定是找一个hello world程序练习下。而hadoop世界的hello word程序就是下面的这个Word Count程序。

1. 新建项目

步骤:File–>New–>Other–>Map/Reduce Project

项目名可以随便取,如MapReduceSample。然后新建类WordCount.java,其代码如下:

package com.lifeware.test;
import java.io.IOException;
import java.util.*;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapred.*;
import org.apache.hadoop.util.*;
public class WordCount {

public static class Map extends MapReduceBase implements Mapper {
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();

? ? ? ? public void map(LongWritable key, Text value, OutputCollector output, Reporter reporter) throws IOException {
String line = value.toString();
StringTokenizer tokenizer = new StringTokenizer(line);
while (tokenizer.hasMoreTokens()) {
word.set(tokenizer.nextToken());
output.collect(word, one);
}
}
}

public static class Reduce extends MapReduceBase implements Reducer {
public void reduce(Text key, Iterator values, OutputCollector output, Reporter reporter) throws IOException {
int sum = 0;
while (values.hasNext()) {
sum += values.next().get();
}
output.collect(key, new IntWritable(sum));
}
}
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
JobConf conf = new JobConf(WordCount.class);
conf.setJobName(“wordcount”);

? ?conf.setOutputKeyClass(Text.class);
conf.setOutputValueClass(IntWritable.class);
conf.setMapperClass(Map.class);
conf.setCombinerClass(Reduce.class);
conf.setReducerClass(Reduce.class);

? ?conf.setInputFormat(TextInputFormat.class);
conf.setOutputFormat(TextOutputFormat.class);

? ?FileInputFormat.setInputPaths(conf, new Path(args[0]));
FileOutputFormat.setOutputPath(conf, new Path(args[1]));

? ?JobClient.runJob(conf);
}
}

2. 数据准备

为了运行程序,我们分别需要一个输入和输出的文件夹。输出文件夹,在程序运行完成后会自动生成。我们需要给程序传人一个输入文件夹。

2.1. ?准备本地文件

在当前项目目录下新建文件夹input,并在文件夹下新建两个文件file1、file2,这两个文件内容分别如下:

?file1: ? ?Hello World Bye World
file2: ? ? ?Hello Hadoop Goodbye Hadoop

2.2. 将文件夹input上传到分布式文件系统中?

在已经启动Hadoop守护进程终端中cd 到hadoop安装目录,运行下面命令:

bin/hadoop fs -put ../test/input input

将input文件夹上传到了hadoop文件系统后,在该系统下就多了一个input文件夹,你可以使用下面命令查看:

bin/hadoop fs -ls

或者直接通过Eclipse插件,查看DFS Locations显示:

3. 运行项目

3.1. ?在新建的项目MapReduceSample,点击WordCount.java,右键–>Run As–>Run Configurations

3.2. 在弹出的Run Configurations对话框中,点Java Application,右键–>New,这时会新建一个application名为WordCount

3.3. ?配置运行参数,点Arguments,在Program arguments中输入“你要传给程序的输入文件夹和你要求程序将计算结果保存的文件夹”,如:

hdfs://localhost:9000/user/metaboy/input hdfs://localhost:9000/user/metaboy/output

这里面的input就是你刚传上去文件夹。文件夹地址你可以根据自己具体情况填写。

4.运行程序

点击Run,运行程序,过段时间将运行完成,等运行结束后,可以在终端中用命令:

? ? ?bin/hadoop fs -ls

或者使用插件hadoop eclipse插件查看是否生成文件夹output。

?5. 结果查看

用下面命令查看生成的文件内容:

? ? bin/hadoop fs -cat output/*

运行完这个程序之后,基本上就算是步入到Hadoop这个大家族啦!

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

GoogleマップをiPhoneのデフォルト地図にする方法 GoogleマップをiPhoneのデフォルト地図にする方法 Apr 17, 2024 pm 07:34 PM

iPhone のデフォルトの地図は、Apple 独自の地理位置情報プロバイダーである Maps です。マップは改善されていますが、米国外ではうまく機能しません。 Googleマップと比べて何も提供するものはありません。この記事では、Google マップを iPhone のデフォルトの地図として使用するための実行可能な手順について説明します。 Google マップを iPhone のデフォルトの地図にする方法 Google マップを携帯電話のデフォルトの地図アプリとして設定するのは、思っているよりも簡単です。以下の手順に従ってください – 前提条件 – 携帯電話に Gmail がインストールされている必要があります。ステップ 1 – AppStore を開きます。ステップ 2 – 「Gmail」を検索します。ステップ 3 – Gmail アプリの横にある をクリックします

Mac コンピュータ名、ホスト名、Bonjour 名を簡単にカスタマイズするための 3 つのヒント Mac コンピュータ名、ホスト名、Bonjour 名を簡単にカスタマイズするための 3 つのヒント Mar 06, 2024 pm 12:20 PM

多くの Mac ユーザーはデバイスのデフォルト名をそのまま使用する傾向があり、それを変更することを決して考えないかもしれません。多くの人は、「Johnny's MacBook Air」または単に「iMac」など、初期設定の名前をそのまま使用することを選択します。 Mac の名前を変更する方法を学ぶことは、特に複数のデバイスを持っている場合に、デバイスをすばやく区別して管理するのに役立つため、非常に便利なスキルです。次に、macOS システムでコンピューター名、ホスト名、Bonjour 名 (ローカルホスト名) を変更する方法を段階的に説明します。 Mac 名を変更する必要があるのはなぜですか? Mac の名前を変更すると、あなたの個性が表れるだけでなく、ユーザー エクスペリエンスの向上にも役立ちます。 Mac をカスタマイズする: デフォルトの名前は好みに合わない場合がありますので、お好みの名前に変更してください。

iPhoneに時計アプリがない:それを修正する方法 iPhoneに時計アプリがない:それを修正する方法 May 03, 2024 pm 09:19 PM

携帯電話に時計アプリがありませんか?日付と時刻は iPhone のステータス バーに引き続き表示されます。ただし、時計アプリがないと、世界時計、ストップウォッチ、目覚まし時計、その他多くの機能を使用できません。したがって、見つからない時計アプリを修正することは、やるべきことリストの一番上に置く必要があります。これらの解決策は、この問題の解決に役立ちます。解決策 1 – 時計アプリを配置する 誤って時計アプリをホーム画面から削除した場合は、時計アプリを元の場所に戻すことができます。ステップ 1 – iPhone のロックを解除し、App ライブラリ ページに到達するまで左にスワイプを開始します。ステップ 2 – 次に、検索ボックスで「時計」を検索します。ステップ 3 – 検索結果に以下の「時計」が表示されたら、それを長押しして、

おすすめのAI支援プログラミングツール4選 おすすめのAI支援プログラミングツール4選 Apr 22, 2024 pm 05:34 PM

この AI 支援プログラミング ツールは、急速な AI 開発のこの段階において、多数の有用な AI 支援プログラミング ツールを発掘しました。 AI 支援プログラミング ツールは、開発効率を向上させ、コードの品質を向上させ、バグ率を減らすことができます。これらは、現代のソフトウェア開発プロセスにおける重要なアシスタントです。今日は Dayao が 4 つの AI 支援プログラミング ツールを紹介します (すべて C# 言語をサポートしています)。皆さんのお役に立てれば幸いです。 https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot は、より少ない労力でより迅速にコードを作成できるようにする AI コーディング アシスタントであり、問​​題解決とコラボレーションにより集中できるようになります。ギット

音声メッセージを自動的にテキストに変換するように WeChat Mac を設定する方法 - 音声からテキストへの変換を設定する方法 音声メッセージを自動的にテキストに変換するように WeChat Mac を設定する方法 - 音声からテキストへの変換を設定する方法 Mar 19, 2024 am 08:28 AM

最近、一部の友人が、音声メッセージを自動的にテキストに変換するための WeChat Mac の設定方法について編集者に相談しました。以下は、音声メッセージを自動的にテキストに変換するための WeChat Mac の設定方法です。必要な友人は来て、詳細を学ぶことができます。ステップ 1: まず、Mac バージョンの WeChat を開きます。図に示すように: ステップ 2: 次に、「設定」をクリックします。図に示すように: ステップ 3: 次に、「一般」をクリックします。図に示すように: ステップ 4: 次に、「チャットの音声メッセージを自動的にテキストに変換する」オプションをチェックします。図に示すように: ステップ 5: 最後に、ウィンドウを閉じます。図に示すように:

iPhoneのカメラとマイクへのアクセスを許可できません iPhoneのカメラとマイクへのアクセスを許可できません Apr 23, 2024 am 11:13 AM

アプリを使用しようとすると、「カメラとマイクへのアクセスを許可できません」というメッセージが表示されますか?通常、カメラとマイクのアクセス許可は、必要に応じて特定の人に付与します。ただし、許可を拒否すると、カメラとマイクは機能しなくなり、代わりにこのエラー メッセージが表示されます。この問題の解決は非常に基本的なもので、1 ~ 2 分で解決できます。解決策 1 – カメラ、マイクの権限を提供する 必要なカメラとマイクの権限を設定で直接提供できます。ステップ 1 – [設定] タブに移動します。ステップ 2 – [プライバシーとセキュリティ] パネルを開きます。ステップ 3 – そこで「カメラ」権限をオンにします。ステップ 4 – 内部には、携帯電話のカメラの許可を要求したアプリのリストが表示されます。ステップ5 – 指定したアプリの「カメラ」を開きます

Go 言語を使用してモバイル アプリケーションを開発する方法を学ぶ Go 言語を使用してモバイル アプリケーションを開発する方法を学ぶ Mar 28, 2024 pm 10:00 PM

Go 言語開発モバイル アプリケーション チュートリアル モバイル アプリケーション市場が活況を続ける中、ますます多くの開発者が Go 言語を使用してモバイル アプリケーションを開発する方法を検討し始めています。シンプルで効率的なプログラミング言語として、Go 言語はモバイル アプリケーション開発でも大きな可能性を示しています。この記事では、Go 言語を使用してモバイル アプリケーションを開発する方法を詳しく紹介し、読者がすぐに始めて独自のモバイル アプリケーションの開発を開始できるように、具体的なコード例を添付します。 1. 準備 始める前に、開発環境とツールを準備する必要があります。頭

Mac で HEIC 写真を JPG に変換する 3 つの方法 Mac で HEIC 写真を JPG に変換する 3 つの方法 Mar 15, 2024 pm 08:43 PM

デフォルトでは、iPhone はカメラから HEIC 形式で写真を取得します。 HEIC は High Efficiency Image Container の略で、PNG や JPG ファイルよりも多くのピクセル データを保持できるため、他の形式に比べて iPhone ストレージ上の占有スペースが大幅に少なくなります。これらのファイルは iPhone で最もよく機能しますが、Apple 以外のデバイスと共有すると画像がぼやけたり粗くなったりすることが多いため、インターネットではあまり受け入れられていません。 HEIC 画像が他のデバイスと互換性があることを確認するには、画像を JPG 形式に変換する必要がある場合があります。この記事では、MacでHEIC画像をJPGに変換する方法を紹介します。 MacでHEIC写真をJPGに変換する方法【3つの方法】

See all articles