前言
Hadoop流提供了一個API,允許使用者使用任何指令碼語言編寫Map函式或Reduce函式。
本文對此知識點進行介紹。
Hadoop流的工作原理
在以前的例子中,Map和Reduce工作都是由類來執行的,但在Hadoop流技術背景下,任何編制好的程式都能做這兩個工作。
執行Map的應用程式會讀取輸入,並將其切分成行後作為程式的Stdin,進行處理後,將每行第一個tab符號前的內容作為key,之後的內容作為value。
如果沒有tab符號,那麼這一行的所有內容都會作為key,而value為空。
值得一提的是,可以使用一個可執行程式做Map,而使用一個Java類做Reduce,或者反過來。
Hadoop流命令格式
hadoop命令 + jar 流包 + -input 輸入檔案目錄 + -output 輸出檔案目錄 + -mapper map程式 + -reducer reduce程式
Hadoop 流命令選項
小結
對於慣用C++的人來說,這個功能挺給力的。