創建OPEN MR__快速開始_大數據開發套件-阿裏雲
為了幫助用戶更加安全、便捷的使用ODPS的MR功能,實現更複雜的計算邏輯。本文檔主要講述OPEN MR的開發方法,幫忙用戶更好的開發複雜的MR模型。
OpenMR用戶隻需要關注Mapper/Reducer部分的邏輯,作業提交部分邏輯會由平台統一來完成.
涉及到一些日常調度涉及到的變量可以在創建OpenMR節點時,在配置中通過參數的方式來指定。
場景和數據說明
本示例將以經典的WordCount示例來介紹如何在阿裏雲大數據平台使用ODPS MapReduce。
本文檔中所涉及的數據表說明如下:
1) 輸入數據表:wc_in用於存儲word列表。
2) 輸出數據表:wc_out用於存放通過MR程序處理後的結果集。
step1:數據表準備
創建數據表
參考快速開始-創建表 章節新建表wc_in、wc_out.
CREATE TABLE wc_in (key STRING, value STRING);
CREATE TABLE wc_out (key STRING, cnt BIGINT);
插入示例數據
為感知OPEN MR程序在大數據平台上運行的結果,需向輸入表(wc_in)中插入示例數據,具體步驟如下:
步驟1:導航至數據開發點擊 新建>新建腳本文件。
步驟2:在新建腳本文件彈出框中填寫各配置項,點擊提交。
步驟3:在ODPS代碼編輯器中編寫ODPS SQL並運行代碼。
提供ODPS SQL腳本如下:
---創建係統dual
drop table if exists dual;
create table dual(id bigint); --如project中不存在此偽表,則需創建並初始化數據
---向係統偽表初始化數據
insert overwrite table dual select count(*)from dual;
---向輸入表wc_in插入示例數據
insert overwrite table wc_in select * from (
select 'project','val_pro' from dual
union all
select 'problem','val_pro' from dual
union all
select 'package','val_a' from dual
union all
select 'pad','val_a' from dual
) b;
可以預覽已經插入的示例數據,如下圖:
step2:編寫MapReduce程序
用戶在使用OPEN MR節點之前需在本地基於ODPS MapReduce 編程框架的WordCount 示例的代碼,然後編譯打成jar包,以資源的方式添加到大數據平台。
涉及到MR的開發,可以參考官網ODPS的幫助,鏈接:大數據計算服務ODPS幫助文檔。
本例代碼詳見WordCount.java附件。
step3:添加資源
無論是在ODPS console還是阿裏雲大數據平台中運行,都需要在執行jar命令運行。因此,先打包生成WordCount.jar(可以通過Eclipse 的Export 功能打包,也可以通過ant 或其他工具生成),再上傳至ODPS資源。
具體操作如下:
步驟1:工作區右上角新建>上傳資源。
步驟2:在資源上傳彈出框中填寫各配置項,注意需要勾選‘上傳為Odps資源’。
步驟3:點擊提交。
step4:創建OpenMR節點
新建的ODPS MapReduce程序以資源方式上傳至ODPS,現需新建OPEN MR節點來調用執行。具體如下:
步驟1:工作區右上角新建>新建任務。
步驟2:在新建任務彈出框中填寫各配置項。
新建任務彈出框中配置項如下:
■ 任務名稱:wordcount示例。
■ 描述:wordcount示例。
步驟4:點擊創建。
步驟5:向開發麵板畫布中拖拽一個OPEN MR節點。
步驟6:雙擊節點或右鍵查看節點內容進入OPEN MR配置頁麵進行配置。
MRJar包:必選項,即本節點需要運行的主jar資源包。
資源:必填項,本節點需要運行的主jar資源以及調用到的其他資源列表。
步驟6:點擊運行進行測試。
step5:查看結果
查看測試運行結果的步驟如下:
步驟1:打開wc_in插入示例數據腳本文件。
步驟2:編寫查詢ODPS SQL代碼。
步驟3:點擊運行。
查看測試結果和預期一致。
本示例中為了讓您更快更深入的了解OPEN MR的使用,並沒用配置工作流屬性(調度屬性等)。在日常數據開發過程中,開發者可根據需求完成配置工作流屬性、提交並測試的工作。
最後更新:2016-11-24 11:23:48
上一篇:
創建自定義函數__快速開始_大數據開發套件-阿裏雲
下一篇:
測試任務__快速開始_大數據開發套件-阿裏雲
變更應用配置__應用管理_用戶指南_容器服務-阿裏雲
惡意代碼掃描__使用手冊_移動安全-阿裏雲
開啟主題的日誌功能__日誌管理使用幫助_控製台使用幫助_消息服務-阿裏雲
Web端直傳實踐簡介__Web端直傳實踐_最佳實踐_對象存儲 OSS-阿裏雲
關於RAM限製__用戶指南_訪問控製-阿裏雲
如何解讀結果__Lite實踐指南_性能測試-阿裏雲
心髒病預測案例__案例_機器學習-阿裏雲
觸發器__API參考_容器服務-阿裏雲
無法連接RDS for PostgreSQL數據庫的解決方法__PostgreSQL使用_技術運維問題_雲數據庫 RDS 版-阿裏雲
ECS雲服務器共享鏡像FAQ
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲