閱讀81 返回首頁    go 人物


命令行快速開始2__快速入門_批量計算-阿裏雲

本文檔將介紹如何使用命令行工具來提交一個作業,目的是統計一個日誌文件中“INFO”,”WARN”,”ERROR”,”DEBUG”出現的次數。

如果您還沒開通批量計算服務,請先開通

步驟預覽

  • 命令行工具安裝和配置
  • 作業準備
    • 上傳數據文件到OSS
    • 準備任務程序
  • 提交作業
  • 查看作業運行狀態
  • 查看運行結果

1. 命令行工具安裝和配置

命令行工具安裝和配置

2. 作業準備

目的:統計一個日誌文件中“INFO”,”WARN”,”ERROR”,”DEBUG”出現的次數。

該作業包含3個任務: split, count 和 merge:

  • split 任務會把日誌文件分成 3 份。
  • count 任務會統計每份日誌文件中“INFO”,”WARN”,”ERROR”,”DEBUG”出現的次數 (count 任務需要配置InstanceCount為3,表示同時啟動3個 count 任務)。
  • merge 任務會把 count 的結果合並起來。

DAG圖例:

DAG圖例

(1) 上傳數據文件到OSS

下載本例子所需的數據: log-count-data.txt

將 log-count-data.txt 上傳到:

oss://your-bucket/log-count/log-count-data.txt

  • your-bucket如表示您自己創建的bucket,本例子假設region為: cn-shenzhen.
  1. bcs oss upload ./log-count-data.txt oss://your-bucket/log-count/log-count-data.txt
  2. bcs oss cat oss://your-bucket/log-count/log-count-data.txt # 檢查是否上傳成功

(2) 準備任務程序

本例子的作業程序是使用python編寫的, 下載本例子所需的程序: log-count.tar.gz

使用下麵的目錄解壓:

  1. mkdir log-count && tar -xvf log-count.tar.gz -C log-count

解壓後的log-count/目錄結構如下

  1. log-count
  2. |-- conf.py # 配置
  3. |-- split.py # split 任務程序
  4. |-- count.py # count 任務程序
  5. |-- merge.py # merge 任務程序
  • 注意:不需要改動程序

3. 提交作業

(1) 編寫作業配置

在log-count的父目錄下創建一個文件: job.cfg(此文件要與log-count目錄平級), 內容如下:

  1. [DEFAULT]
  2. job_name=log-count
  3. description=demo
  4. pack=./log-count/
  5. deps=split->count;count->merge
  6. [split]
  7. cmd=python split.py
  8. [count]
  9. cmd=python count.py
  10. nodes=3
  11. [merge]
  12. cmd=python merge.py

這裏描述了一個多任務的作業,任務的執行順序是 split->count->merge。

(2) 提交命令

  1. bcs sub --file job.cfg -r oss://your-bucket/log-count/:/home/input -w oss://your-bucket/log-count/:/home/output
  • -r 和 -w 表示隻讀掛載和可寫映射,具體請看這裏: OSS掛載
  • 同一個oss路徑,可以掛載到不同的本地目錄。但是不同的oss路徑是不能掛載到同一個本地目錄的,一定要注意。

4. 查看作業運行狀態

  1. bcs j # 獲取作業列表, 每次獲取作業列表後都會將列表緩存下來,一般第一個即是你剛才提交的作業
  2. bcs ch 1 # 查看緩存中第一個作業的狀態
  3. bcs log 1 # 查看緩存中第一個作業日誌

5. 查看結果

Job結束後,可以使用以下命令查看存在OSS中的結果。

  1. bcs oss cat oss://your-bucket/log-count/merge_result.txt

內容應該如下:

  1. {"INFO": 2460, "WARN": 2448, "DEBUG": 2509, "ERROR": 2583}

最後更新:2016-11-23 17:16:11

  上一篇:go 命令行快速開始1__快速入門_批量計算-阿裏雲
  下一篇:go Java快速開始__快速入門_批量計算-阿裏雲