1. 程式人生 > >Hadoop Steaming程式設計示例

Hadoop Steaming程式設計示例

本文將完整介紹一個Hadoop Streaming的程式wordcount的執行過程,Hadoop的工作原理等請自行查詢資料。

為了能夠執行一個簡單的程式,需要這些檔案。

這裡以C++為例,mapper程式和reducer程式都用C++編寫


當然cpp檔案是不能直接在streaming中使用的,需要先進行編譯,輸入如下命令:

可以看到編譯後出現兩個可執行檔案。

data.txt內時輸入的資料:

為了方便呼叫hadoop-streaming.jar,還需要把hadoop-streaming.jar拷貝一份到程式目錄下,如首圖紅色字樣所示。

testc.sh檔案內是要使用hadoop所用到的指令

這裡強調一下,output資料夾一定不能存在,因此,不管有沒有先在第一句指令裡刪掉它。

使用-put命令將輸入資料data.txt上傳到hadoop上,使用-file分發的是mapper.exe和reducer.exe而非mapper.cpp和reducer.cpp!

hadoop計算輸出的結果在output資料夾中,以part*的格式。這裡把它下載來下後改成output.txt,也即output.txt中是我們的結果。

其他人在編寫.sh檔案時,注意改變相關的檔案路徑。

需要注意的是用vi建立testc.sh檔案後,testc.sh此時僅僅只是一個文字,如果要執行它的話還需要賦予可執行許可權。

執行

>>./testc.sh

最後的輸出結果

剛剛入門的新手趕快拿回去試試吧~~

相關推薦

Hadoop Steaming程式設計示例

本文將完整介紹一個Hadoop Streaming的程式wordcount的執行過程,Hadoop的工作原理等請自行查詢資料。 為了能夠執行一個簡單的程式,需要這些檔案。 這裡以C++為例,mapper程式和reducer程式都用C++編寫 當然cpp檔案是不能直接在

Hadoop mapduce 統計單詞程式設計示例

首先,完成mapper類 package sinc.hadoops.mr; import java.io.IOException; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.i

hadoop MapReduce java示例

method prope import .lib mapper key maven sna artifact wordcount工作流程input-> 拆分Split->映射map->派發Shuffle->縮減reduce->outputhad

Lua-stdlib 中的 functional 函數語言程式設計示例

local std = require("std"); addMultiply = std.functional.compose(function (x) return x + 2 end, function (x) return x * 10 end) print(addMultipl

Hadoop mapreduce 入門示例詳解

wordcout統計詞頻mapreduce程式設計 import java.io.IOException; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.

MapReduce部分練習使用API程式設計示例之PageRank

package com.sxt.hadoop.mr.pagerank; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs

Python Socket 程式設計示例 Echo Server

簡評:我們已經從「Python Socket 程式設計概覽」瞭解了 socket API 的概述以及客戶端和伺服器的通訊方式,接下來讓我們建立第一個客戶端和伺服器,我們將從一個簡單的實現開始,伺服器將簡單地回顯它接收到客戶端的任何內容。本文將詳細解釋伺服器部分的程式碼。 下面是伺服器程式碼儲存到 echo

Linux socket程式設計示例3 select函式的使用

1.select函式簡介 int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval*timeout); 當伺服器響應多個客戶端連線的時候,需要定義一個執行緒

WaitForSingleObject -- setevent 講解與程式設計示例

  函式一直等待,直到指明的 Handle 處於signed 狀態,或者超過規定的時間才返回。   函式原型: DWORD WINAPI WaitForSingleObject( _In_ HANDLE hHandle, _In_ DWORD d

Muduo 網路程式設計示例之八:用 Timing wheel 踢掉空閒連線

Muduo 網路程式設計示例之八:Timing wheel 踢掉空閒連線 陳碩 (giantchen_AT_gmail) 這是《Muduo 網路程式設計示例》系列的第八篇文章,原計劃講檔案傳輸,這裡插入一點計劃之外的內容。 本文介紹如何使用 timing wheel 來踢

hadoop 自帶示例wordcount 詳細執行步驟

因為機器學習,接觸到了資料探勘;因為資料探勘,接觸到了大資料;因為大資料,接觸到了Hadoop。之前有過hadoop的簡單瞭解,但都是基於別人提供的hadoop來學習和使用,雖然也很好用 ,終究不如自己的使用起來方便 。經過這兩天參考大量網上的經驗,終於成功的搭

sqlite3程式設計 & 示例

0. 引言  我們這篇文章主要講述瞭如何在C/C++語言中呼叫 sqlite 的函式介面來實現對資料庫的管理,包括建立資料庫、建立表格、插入資料、查詢資料、刪除資料等。  1. 說明 這裡我們假設你已經編譯好了sqlite的庫檔案 :libsqlite3.a  libsqli

java實現基於TCP形式的socket程式設計示例

一,介紹 socket程式設計也叫套接字程式設計是位於應用層,一臺機器上的Socket與另一臺機器上的Socket聯接就會建立一條通訊通道。Java語言通過流為程式碼提供資料,從而隱藏了所有這些細節,所以被稱為流套接字。套接字有兩種形式:a.TCP:可靠的,端到端的位元組流通訊協議。是一種面

嵌入式Linux下Gstreamer程式設計示例

By Toradex秦海 1). 簡介 Gstreamer多媒體開發框架是當前嵌入式Linux裝置最為常用的多媒體應用處理平臺,關於Gstreamer開發框架的介紹請參考我們過往發表的其他相關文章,這裡不再贅述而是直接展示使用C語言基於Gstreamer進行攝像頭處理的示例

win32 socket程式設計 示例(功能簡單,完善)

最近在做的一個專案要用到網路通訊方面的內容,於是自學了下win32socket,原來自己學過計算機網路,只瞭解網路各層的原理,但沒有真正的程式設計來實現這些原理,哎,不過現在還來得及,下面是自己的一個示例,雖然簡單,但瞭解了它,就知道了最基本的socket程式設計的方法! /* 功能描述:與伺服器連線

VS2013和halcon聯合程式設計示例程式之hough_lines

#include<iostream> #include"HalconCpp.h" using namespace std; using namespace HalconCpp; int main() {HImage image;image.ReadImage("

Java socket 多執行緒程式設計 示例

package com.my.socket.test; import java.io.IOException; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; public class Util { p

多執行緒socket程式設計示例

package com.my.socket.common; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamR

Linux IPv6 UDP套接字程式設計示例

     udp ipv6套接字程式設計和ipv4介面類似,引數略有不同,流程都包括建立套接字、繫結地址、傳送等。 下面是一個udp ipv6 demo, 包括建立ipv6套接字、繫結地址和傳送資料等。 首先先在linux上配置一個本地站點地址,然後使用這個地址傳送。

ROS程式設計示例---輸出訊息

//一個簡短的初學程式 #include <ros/ros.h> int main(int argc,char** argv) { ros::init(argc,argv,"hello_