Hadoop高階程式設計之 Oozie

2021-07-15 02:46:47 字數 1519 閱讀 1463

利用apache oozie workflow引擎,可以解決基於特定時間,特定時間,特定資源的一組mapreduce作業。

oozie主要由下面4個功能元件構成:

1,oozie workflow--該元件用於定義和執行乙個特定順序的mapreduce,hive和pig作業。

2,oozie coordinator --該元件用於支援事件,系統資源存在性等條件的workflow的自動執行。

3,oozie bundle -- 該引擎可以定義和執行「一束」應用,從而提供乙個批量化方法,將一組coordinator應用程式一起進行管理。

4,oozie 服務等級協定(service level agreement, sla) --該元件支援workflow應用執行過程的記錄跟蹤。

oozie workflow的定義主要基於以下概念:

1,動作(action)--這是關於乙個的workflow任務/步驟的約定。eg:乙個mapreduce的作業,一段**執行,乙個hive腳步等。

2,轉換(transition)--這是關於乙個給定動作完成時,哪個動作可以隨後執行的約定。描述一種動作之間的依賴關係的方法。

3,workflow是一組排列在一張依賴順序圖中的動作和轉換集合。

4,workflow應用程式--這是由oozie workflow語言定義的oozie workflow。oozie伺服器會對oozie workflow應用程式定義進行解釋,並儲存到oozie資料庫中。

5,workflow作業--這是oozie伺服器中的乙個程序,它解釋oozie workflow定義。oozie workflow任務會控制動作提交的順序和條件。

oozie 還支援兩種不同型別的動作(action):

1,同步--該型別的動作在oozie伺服器自己的執行執行緒中執行。

2,非同步--該型別的動作在hadoop集群中以mapreduce(或hive/pig/sqoop)作業的形式執行。oozie伺服器初始化非同步動作的執行,並等待起結束。

oozie workflow的轉換,有如下兩種型別的條件來決定:

1,結構條件--該類轉換時在workflow dag中靜態定義的**換和fork-join結構)。

2,執行時執行條件--該型別轉換可以使用前面動作執行結果,形式包括程序變數(switch-case結構)和成功/失敗路徑。

控制流節點:

start節點--start --定義oozie workflow的起始點

end節點 -- end --定義oozie workflow的結束點

decision節點 -- decision --用於表述「switch-case」邏輯

fork節點--fork--該節點會把執行流程叉開為多個併發的路徑

join節點--join--該節點表示workflow的執行要進行等待,知道前一次fork節點產生的所有併發執行路徑都達到join節點

sub-workflow節點--sub-workflow--該節點會呼叫乙個子workflow

kill節點--kill--該節點會使oozie伺服器強制殺死當前的workflow作業

高階程式設計之 socker程式設計

用來標記網路上的一台電腦 window ifconfiglinux ipconfig1 1 3 1.ipv4 被廣泛使用的 ip協議的版本號是4 當前再用,目前被廣泛應用 ipv4的位址位數為32位 4位位元組 位址有限,幾乎全部耗盡 1 1 3 2.ipv6 ip協議的版本號是6 ipv6的位址位...

高階程式設計之網路程式設計(三)

io 模型 1 阻塞模型 fifo pipe read fgetc fgets fread recv recvfrom 以上獲取資料的函式預設都是阻塞方式接收資料。2 非阻塞模型 2.1 在開始階段的open函式部分調整 open fifo o rdonly o nonblock 函式 open r...

C 高階程式設計之「反射」

一,定義 反射技術,能夠讓託管 在執行時檢視元資料以及 的各方面資訊。二,常用方法 1,獲取物件方法 必須以public修飾的方法,不包括建構函式 2,獲取物件屬性 3,獲取物件的父類 附示例 using system using system.collections.generic using s...