Azkaban實戰,Command型別單一job示例,任務中執行外部shell指令碼,Command型別多job工作flow,HDFS操作任務,MapReduce任務,HIVE任務
1.Azkaban實戰
Azkaba內建的任務型別支援command、java
Command型別單一job示例
1、建立job描述檔案
vi command.job
#command.job
type=command
command=echo 'hello'
2、將job資原始檔打包成zip檔案
zip command.job
3、通過azkaban的web管理平臺建立project並上傳job壓縮包
首先建立project
上傳zip包,例如:
zip包中的內容如下:
上傳介面:
4、啟動執行該job
可以檢視指令碼的內容:
執行工作流:
上面的已經變成了綠色了,表示已經執行完成了。
上面的repeat表示每天執行一次
1.2.通過任務執行shell指令碼
編寫command.job檔案
內容如下:
#command.job
type=command
command=sh hello.sh
上面的command=sh hello.sh表示的意思是執行hello.sh指令碼,其中hello.sh的指令碼如下:
#!/bin/bash
echo 'hello' > /home/tuzq/software/azkabandata/hello.txt
按照上面的案例,上傳上去,並且執行。
上傳任務的指令碼
執行工作流:
進入/home/tuzq/software/azkabandata檢視是否有檔案:
[root@hadoop1 azkabandata]# cd /home/tuzq/software/azkabandata
[root@hadoop1 azkabandata]# ls
hello.txt
[root@hadoop1 azkabandata]# cat hello.txt
hello
[root@hadoop1 azkabandata]#
1.3.Command型別多job工作流flow
1、建立有依賴關係的多個job描述
第一個job:foo.job
# foo.job
type=command
command=echo foo
第二個job:bar.job依賴foo.job
# bar.job
type=command
#表示這個命令依賴foo這個任務
dependencies=foo
command=echo bar
2、將所有job資原始檔打到一個zip包中
3、在azkaban的web管理介面建立工程並上傳zip包
4、啟動工作流flow
1.4.HDFS操作任務
1、建立job描述檔案
# fs.job
type=command
command=/home/tuzq/software/hadoop-2.8.0/bin/hdfs dfs -mkdir /azaz
2、將job資原始檔打包成zip檔案
3、通過azkaban的web管理平臺建立project並上傳job壓縮包
4、啟動執行該job
通過上滿的結果可以證明,可以通過job來自行hdfs的命令
1.5.MAPREDUCE任務
Mr任務依然可以使用command的job型別來執行
1、建立job描述檔案,及mr程式jar包(示例中直接使用hadoop自帶的example jar)
# mrwc.job
type=command
command=/home/tuzq/software/hadoop-2.8.0/bin/hadoop jar hadoop-mapreduce-examples-2.8.0.jar wordcount hdfs://hadoop1/wordcount/input hdfs://hadoop1/wordcount/azout
2、將所有job資原始檔打到一個zip包中
其中hadoop-mapreduce-examples-2.8.0.jar 在$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.0.jar
3、在azkaban的web管理介面建立工程並上傳zip包
上傳之後的準備工作是:
將wordcount/input上傳到hdfs,命令如下:
[[email protected] software]# hdfs dfs -put wordcount /
[[email protected] software]# hdfs dfs -ls /
Found 8 items
drwxr-xr-x - root supergroup 0 2017-06-13 12:01 /40000
drwxr-xr-x - root supergroup 0 2017-06-14 18:31 /azaz
drwxr-xr-x - root supergroup 0 2017-06-13 23:43 /flume
drwxr-xr-x - root supergroup 0 2017-06-14 18:46 /input
-rw-r--r-- 3 root supergroup 3719 2017-06-10 12:11 /kms.sh
drwxrwxrwx - root supergroup 0 2017-06-14 18:43 /tmp
drwxr-xr-x - root supergroup 0 2017-06-10 22:27 /user
drwxr-xr-x - root supergroup 0 2017-06-14 18:47 /wordcount
[[email protected] software]# hdfs dfs -ls hdfs:/wordcount/input
Found 9 items
-rw-r--r-- 3 root supergroup 604 2017-06-14 18:47 hdfs:///wordcount/input/1.txt
-rw-r--r-- 3 root supergroup 604 2017-06-14 18:47 hdfs:///wordcount/input/2.txt
-rw-r--r-- 3 root supergroup 604 2017-06-14 18:47 hdfs:///wordcount/input/3.txt
-rw-r--r-- 3 root supergroup 604 2017-06-14 18:47 hdfs:///wordcount/input/4.txt
-rw-r--r-- 3 root supergroup 604 2017-06-14 18:47 hdfs:///wordcount/input/5.txt
-rw-r--r-- 3 root supergroup 27209520 2017-06-14 18:47 hdfs:///wordcount/input/a.txt
-rw-r--r-- 3 root supergroup 27209520 2017-06-14 18:47 hdfs:///wordcount/input/aaa.txt
-rw-r--r-- 3 root supergroup 27787264 2017-06-14 18:47 hdfs:///wordcount/input/b.txt
-rw-r--r-- 3 root supergroup 26738688 2017-06-14 18:47 hdfs:///wordcount/input/c.txt
其中1.txt中內容類似:
4、啟動job
現象:
執行完成之後的狀態是:
檢視hdfs上的內容:
開始的時候發現在/wordcount下只有input這個資料夾,當執行完成之後,發現有了azout這個資料夾。
綜上所述,說明通過azkaban在hdfs上生成了檔案
1.5.HIVE指令碼任務
建立job描述檔案和hive指令碼
Hive指令碼: test.sql
use default;
drop table aztest;
create table aztest(id int,name string) row format delimited fields terminated by ',';
load data inpath '/aztest/hiveinput' into table aztest;
create table azres as select * from aztest;
insert overwrite directory '/aztest/hiveoutput' select count(1) from aztest;
Job描述檔案:hivef.job
#hivef.job
type=command
command=/home/tuzq/software/hive/apache-hive-1.2.1-bin/bin/hive -f 'test.sql'
2、將所有job資原始檔打到一個zip包中
3、在azkaban的web管理介面建立工程並上傳zip包
4、啟動job
準備工作(在hdfs上建立一個hive執行sql後依賴的資料夾):
[[email protected] apache-hive-1.2.1-bin]# hdfs dfs -mkdir -p /aztest/hiveoutput
執行完成之後效果如下:
特別注意的是:如果執行錯了,可以檢視任務的日誌輸出:
相關推薦
Azkaban實戰,Command型別單一job示例,任務中執行外部shell指令碼,Command型別多job工作flow,HDFS操作任務,MapReduce任務,HIVE任務
1.Azkaban實戰 Azkaba內建的任務型別支援command、java Command型別單一job示例 1、建立job描述檔案 vi command.job #command.job type=command
centos6,centos7 根據ip地址列表檔案進行防火牆封殺的shell指令碼
centos6 shell指令碼如下: cat $1 | while read line do iptables -I OUTPUT -s ${line%.*}.0/24 -j DROP iptables -I INPUT -s ${line%.*}
Mac執行shell指令碼提示command not found的一種解決方案
本人在學習使用Mac OS的過程中,想寫一個簡單的安裝Android apk的指令碼,發現根據網上教程走完之後,總會提示一個錯誤。但是我檢查了很多遍許可權和Android包括adb環境變數配置,依然沒有找到原因,後來無意間用xcode打開了一次sh指令碼,發現裡面時另外一種
scikit-learn初步,一個KNN算法示例
一個 port 算法 ict 分割 pan sele lec tar 1 import numpy as np 2 from sklearn import datasets #數據集 3 from sklearn.model_selection import tra
實戰分享,教你藍牙在小程序中的應用
success 查詢 notify 用戶 等待 apt service() 傳遞數據 length 歡迎大家前往騰訊雲技術社區,獲取更多騰訊海量技術實踐幹貨哦~ 作者:朱勝 導語 藍牙在日常生活中廣泛使用的一項技術,小程序給了我們前端工程師一個控制藍牙的方法
感悟:決定一個系統走勢是多因素構成,而非單一因素決定。
.get key eve while src 一個數 遺傳 隨機 初始化 例如癌癥,醫生常說抽煙致癌,不要抽煙,但實際生活中抽煙長壽的人不少,我的姨婆九十多歲了,每日抽煙喝酒,身體也不錯。決定癌癥的因素很多,例如遺傳,飲食,起居時間,居住環境,化工汙染等等。下圖轉自一份醫學
最新版 INSPINIA IN+ - WebApp Admin Theme v2.7.1,包含asp.net MVC5示例代碼,做管理系統最佳的選擇。
代碼 ima height href logs spin 選擇 com .cn 下載地址:http://download.csdn.net/download/wulang1988/10039402 最新版 INSPINIA IN+ - WebApp Admin Theme
十二、事件,委托,泛型委托,集合(泛型和非泛型),Lambda表達式(聲明委托,使用委托,簡單的委托示例,action<T>和func<t>委托,多播委托,匿名方法,Lambda表達式,參數,事件)
multicast new 調用方法 多播 ted 被調用 輸入參數 pac cas 事件(Event) 事件是一種對象或類能夠提供通知的成員,客戶端可以通過提供事件處理程序為相應的事件可添加可執行代碼,事件可以理解為一種特殊的委托。 委托(Delegate) 委托是存有對
回調函數參數問題,閉包解決方案示例
length fun spa nts .get tel col onclick clas 1.function init4() { 2. var pAry = document.getElementsByTagName("p"); 3. fo
【算法與數據結構實戰】線性表操作-實現A並B,結果放入A中
!= 實現 push 集合 div 中間 for iter 和數 //數據結構與算法基礎題1:線性表操作,實現A並B,結果放入A中 #include "stdafx.h" #include <iostream> #include <string>
Python學習:5、if語句,while語句,函數以及商城示例
else 並且 參數傳遞 class color code 多個參數 else語句 參數 條件控制語句 if語句 簡單if判斷語句,當if後面的條件為真的時候,執行print(‘yes‘),否則執行else裏面的語句,print(‘No‘) if True: pr
概率軟邏輯(PSL,Probabilistic soft logic)示例演練和模塊解釋
keyword sant 一個 bre att database specific ecif 改變 這裏將引導您完成Simple Acquaintances示例的Groovy版本。 一、建立示例項目 ??首先,確保您的系統滿足先決條件。然後克隆psl-examples存儲庫
入門python程式:分支迴圈,break和continue使用示例
分支迴圈是用腦示例 score = int(input("請輸入一個分數:")) if 100 > score >=90 : print("A") elif 90 > score >=80: print("B") elif 80 > scor
Oracle 使用DBMS_JOB和DBMS_SCHEDULER 建立定時任務 建立管理job示例
使用DBMS_JOB和DBMS_SCHEDULER建立、管理job示例 原創 Oracle 作者:Hoegh 時間:2015-04-28 16:52:41 6439 0 &
oozie錯誤:job一直在running或者SUSPENDED,但是就是不執行。任務單獨執行是可以的。
1.問題描述 一個簡單的mapreduce的wordcount任務,單獨使用yarn呼叫時沒有任何問題,可以跑出來。但是,放入yarn的時候,就會出現問題。一直時Running的狀態,而且hadoop對應目錄下也沒有輸出結果的目錄,很是頭痛。 2.原因: 經過百般
說明Linux系統上命令的使用格式;介紹一些命令的使用,並配合相應的示例來闡述
什麼是命令 1.命令格式: COMMAND [OPTIONS] ARGUMENTS CMMMAND:發起一命令:請求核心將某個二進位制程式執行為一個程序; 命令請求kernel將某個二進位制程式執行為一個程序。程式本身只是一個靜態檔案,只有通過這個請求,才會轉化
sklearn中lr模型的評價指標函式,含義及應用程式碼示例
一、從線性迴歸到邏輯迴歸 線性迴歸解決的是連續型數值的預測問題,例如預測房價,產品銷量等。 邏輯迴歸解決的是分類問題,從分類數量上看,有二項分類和多項分類。 二、邏輯迴歸基本概念 三、模型效果評估 準確率 準確率 = 正確預測數 / 測試集樣本數 Sciki
ajax請求成功之後返回的資料,怎樣顯示到頁面,跟隨表單一起提交
.val用來獲取input框內輸入的值 ajax裡 $("#imageSrc").val(data); // 獲取到輸入的值 對應html裡 < input name=“data[imageSrc]” id=“imageSrc” type=“hidden”> .html,用來
python3 keras獲取GRU的每一個時刻的輸出,,切分GRU的輸出示例
1. keras的GRU很好用,return_sequences,False 返回單個, true 返回全部time step 的 hidden state值。 2. 但是keras的time step是根據輸入決定的,這裡我們在處理的時候,可能就需要分割以下某一層的資料,然後輸入到後面的不
求共同好友,多job運用
package bd1805day09; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import org.apache.hadoop.conf.Configur