CDH5.0.0使用hue中的oozie編輯器建立一個wordcount的mapreduce job
<workflow-app name="test4" xmlns="uri:oozie:workflow:0.4"> <start to="test4"/> <action name="test4"> <map-reduce> <job-tracker>${jobTracker}</job-tracker> <name-node>${nameNode}</name-node> <prepare> <delete path="${nameNode}${outputDir}"/> </prepare> <job-xml>/shareScripts/xxmapred-site.xml</job-xml> <configuration> <property> <name>mapreduce.job.map.class</name> <value>com.besttone.hbase.demo.WordCount$TokenizerMapper</value> </property> <property> <name>mapreduce.job.reduce.class</name> <value>com.besttone.hbase.demo.WordCount$IntSumReducer</value> </property> <property> <name>mapreduce.job.combine.class</name> <value>com.besttone.hbase.demo.WordCount$IntSumReducer</value> </property> <property> <name>mapreduce.job.output.key.class</name> <value>org.apache.hadoop.io.Text</value> </property> <property> <name>mapreduce.job.output.value.class</name> <value>org.apache.hadoop.io.IntWritable</value> </property> <property> <name>mapreduce.input.fileinputformat.inputdir</name> <value>${inputDir}</value> </property> <property> <name>mapreduce.output.fileoutputformat.outputdir</name> <value>${outputDir}</value> </property> <property> <name>mapred.mapper.new-api</name> <value>true</value> </property> <property> <name>mapred.reducer.new-api</name> <value>true</value> </property> <property> <name>mapreduce.job.reduces</name> <value>1</value> </property> </configuration> </map-reduce> <ok to="end"/> <error to="kill"/> </action> <kill name="kill"> <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> </kill> <end name="end"/> </workflow-app>
配置檔案要注意的地方:
mapred.mapper.new-api和mapred.reducer.new-api這兩個屬性設定成true,表示使用新的api介面。老的API介面的配置屬性和新的配置屬性是不一樣的,mapreduce打頭的屬性都是新介面屬性,老介面屬性是mapred打頭的。
下面用圖形化的方式來描述如何建立一個workflow
1 新建一個workflow:
這裡我們新建了一個workflow叫test5,然後點選儲存。
2 檢視一下這個workflow的工作目錄在哪:
可以看到如圖所示的工作目錄,現在工作目錄下面是空的,等提交了workflow後,在工作目錄下面就會生成workflow.xml還有lib目錄,裡面存放相應的依賴包.
3 編輯這個workflow,拖一個mapreduce action到start和end之間:
轉到mapreduce action的編輯介面,
Jar名稱選擇你自己編寫的wordcount類打成的jar包,這個JAR包必須上傳到HDFS上,我這裡存放在HDFS的/sharelib目錄下面。
準備階段新增一個“新增刪除”動作,填寫刪除的目錄,因為mapreduce輸出目錄如果存在的話,提交JOB的時候會報錯無法提交,所以在提交JOB之前需要刪除輸出目錄,這裡輸出目錄的寫法是${outputDir},為EL表示式語言,即對輸出目錄進行了引數化,當你在提交workflow的時候,會彈出一個對話方塊讓你填寫這些引數。
job屬性配置:
作業XML設定:
JOB屬性配置會覆蓋作業XML檔案中的配置。作業XML一般都是配置一些通用的不長改變的屬性,存成一個檔案放到HDFS上去,經常變的就放到job屬性配置中一個一個的配置。
3 配置好後,提交workflow,填寫輸入目錄和輸出目錄兩個引數,就job就開始運行了。
說明:oozie提交mapreduce job和傳統的通過hadoop jar方式執行job不同,hadoop jar方式把該配置的屬性都寫在main方法裡面了,而oozie 提交mapreduce不能這樣做,所以必須把傳統的main方法裡設定的屬性,都作為job屬性設定一項一項的設定上。至於具體的屬性名,可以通過檢視原始碼來找到,比如job.setMapperClass(TokenizerMapper.class);可以點進這個方法裡面去看到底設定的是哪個屬性名,常用的屬性名都定義在MRJobConfig這個類中,比如public static final String MAP_CLASS_ATTR = "mapreduce.job.map.class";定義的是將要使用的map類。
workflow提交後,我們再次去檢視工作區,可以看到如下圖:
工作區下面多了workflow.xml和lib目錄,lib目錄裡存放的是我們剛才設定的jar檔案:
workflow.xml內容就是本文開頭描述的XML程式碼片段。
相關推薦
CDH5.0.0使用hue中的oozie編輯器建立一個wordcount的mapreduce job
<workflow-app name="test4" xmlns="uri:oozie:workflow:0.4"> <start to="test4"/> <action name="test4"> &l
Cocos2d-x3.0遊戲例項之《別救我》第五篇——使用Cocostudio UI編輯器建立操作介面
這一篇內容其實很簡單,已經對Cocostudio比較熟悉的朋友就可以隨便掃一下了~(小若:熟悉Cocostudio的人誰還有空看你的基礎教程呢)下載Cocostudio我這篇教程使用的版本是V1.3.0.1,它同一個版本還有3個分支,大家隨便選擇一個分支吧:Cocos2d-x
thinkphp5.0引入百度編輯器
.config ext 引入 strong scrip php5 text 需要 pla 1.首先在百度下載百度編輯器2.下載後一次把ueditor.config.js,ueditor.all.js,zh-cn.js這個三個js引入。 <script type=
linux操作系統中vim編輯器的使用
linux操作系統linux操作系統中vim編輯器的使用
Linux中VIM編輯器的使用方法歸納
set linux tmp目錄 所在 vim 字母 單詞 後退 末行模式 VIM是linux系統最為普遍的文本編輯軟件,幾乎任意一種linux發行版默認都會安裝這款軟件。雖然現在已經出現了很多適合linux的文本編輯軟件,但是VIM的強大是無法替代的。 VIM有三種模式:指
vue2.0 實現富文字編輯器功能
前端富文字編譯器使用總結: UEditor:百度前端的開源專案,功能強大,基於 jQuery,但已經沒有再維護,而且限定了後端程式碼,修改起來比較費勁 bootstrap-wysiwyg:微型,易用,小而美,只是 Bootstrap + jQuery... kindEditor:功能強大,程
Qt中文字編輯器實現語法高亮功能(Qscitinlla)
Qt中文字編輯器實現語法高亮功能(Qscitinlla) Scintilla是一個免費、跨平臺、支援語法高亮的編輯控制元件。它完整支援原始碼的編輯和除錯,包括語法高亮、錯誤指示、程式碼完成(code completion)和呼叫提示(call tips)。能包含標記(marker)的頁邊(mar
VC++6.0 MFC中獲取編輯框內容
1、方法一:設定編輯框變數 在MFC的基本對話方塊中,建立一個編輯框控制元件,為控制元件新增一個型別為CEdit的變數 m_Edit 。 CString str; m_Edit.GetWindowText(str); 2、方法二:通過ID獲取 CString
Linux中vim編輯器常用命令
移動游標 Ctrl+f:螢幕向下移動一頁,相當於【Page Down】按鍵Ctrl+b:螢幕向上移動一頁,相當與【PageUp】按鍵 0或功能鍵【Home】:數字‘0’:移動到這一行的最前面的字元處$或則按鍵【End】:移動到這一行的最後面的字元處 G:移動到這個檔案的最後一行gg:移動到這個檔案的第一
Linux中Vi編輯器之簡單常用命令
Vi是Linux中最基本的文字編輯器。vi可以分為三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下: 1) 命令列模式command mode) 控制螢
Go語言環境安裝,驗證go語言環境、使用文字編輯器編寫一個go hello world,Go lang IDE安裝,在golang中新建一個go程式
1 Golang語言環境安裝包下載 https://www.golangtc.com/ 下載: go1.9.2.windows-amd64.msi 和 go1.9.2.windows-amd64.zip 2 golang語言環境安裝 本筆記使用go1.10.2.window
Linux終端中的編輯器
上一篇中提到設定ssh連線的別名時雖然是在本地的機器設定,但是當遠端連線的機器上有檔案更改時該怎麼做呢? Vim vi/vim 都是Linux中的文字編輯器,Vim是vi的加強版,支援文字高亮提示之類的功能,在終端中如果編輯檔案是無法開啟圖形化介面的編輯器的
vi—終端中的編輯器
vi —— 終端中的編輯器 目標 vi 簡介 開啟和新建檔案 三種工作模式 常用命令 分屏命令 常用命令速查圖 01. vi 簡介 1.1 學習 vi 的目的 在工作中,要對 伺服器 上的檔案進行 簡單 的修改,可以使用 ssh 遠端
大資料學習筆記(五) -- linux中vi編輯器的快捷鍵
Table of Contents 末行模式 文字操作技巧 開啟檔案關閉檔案 [[email protected] ~]# vi +22 profile
在vue中修改編輯器html內容的圖片樣式(ueditor)
公司的需求是實現類似淘寶商品詳情(通過圖片拼接,大家都很清楚,淘寶詳情一般都是採用多張圖進行拼接) 文字的描述大家可能會覺得很枯燥無味,覺得程式碼才是最好的老師 作者將會詳細地去講解程式碼,在程式碼中找到自己的靈感!使用js實現也差不多是如此的套路。 <!-- 此頁面是單頁面 --&g
在spring 中如果使用new建立一個物件時 這個物件將不在受spring管理器管理
文章如標題具體如下 比如現在有一個service 層 package com.zyc.service.impl; import javax.annotation.Resource; import org.springframework.stereotype.Servi
Jupyter Notebook 中markdown編輯器的字型顏色設定
換行: 方法1: 連續兩個以上空格+回車方法2:使用html語言換行標籤:<br> 首行縮排兩個字元:(每個表示一個空格,連續使用兩個即可)   半形的空格  全形的空格 字型、字號與顏色: Jupyter Note
在用unity開發中程式碼編輯器的選擇
正所謂工欲善其事必先利其器,在學習u3d的同時,我們難免會選擇一個編譯器用來寫程式碼。大部分人都會選用 MOno 或者 VS 。 一:MonoDevelop的優點是可以直接打斷點測試,但是vs就不行,還有就是不能直接用中文註釋,如果想要用中文註釋有這幾個辦法。 其一就是
如何解決IE8中eWebEditor編輯器按鈕不能正常使用
由於IE升級,造成網站後臺編輯器(eWebEditor)的按鈕不能使用,如:插入圖片等功能。有些第三方瀏覽器也不行,因為它們使用了IE核心,如遨遊。那麼如何解決呢,搜尋了網上資料,想必肯定不可能只有我一個人這麼倒黴吧。果然,很多朋友都碰到,解決方法也很多,大都差不多。自己結合自己的解決過程,說明下,一步到位
利用vi編輯器建立和編輯檔案
1、 vim是vi的升級版本。 2、 vi所UNIX和Linux系統內嵌的標準文編輯器,可執行,修改,複製,移動,貼上和刪除正文等命令,也可以進行移動游標,搜尋字元和退出vi的操作等。 3、 &nbs