日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Docker 作業示例

作業準備

本作業程序使用 python 編寫,目的是統計一個日志文件中 “INFO”,”WARN”,”ERROR”,”DEBUG” 出現的次數。

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

  • split 任務會把日志文件分成 3 份。

  • count 任務會統計每份日志文件中“INFO”,”WARN”,”ERROR”,”DEBUG”出現的次數(count 任務需要配置 InstanceCount 為 3,表示同時啟動 3 個 count 任務)。

  • merge 任務會把 count 的結果統一合并起來。

DAG圖例

DAG圖例

A) 上傳數據文件到 OSS

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

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

說明

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

  • your-bucket 表示對應的 bucket,本示例假設 region 為:cn-shenzhen。

  • 上傳數據到OSS,請參考OSS上傳文件

B) 準備任務程序

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

解壓到如下目錄:

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

解壓后的目錄結構如下:

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

提交作業

說明

提交作業可以使用 python sdk 或者 java sdk, 或者控制臺提交,本例子使用命令行工具提交。

A) 編寫作業配置

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

[DEFAULT]
job_name=log-count
description=demo
pack=./log-count/
deps=split->count;count->merge

[split]
cmd=python split.py

[count]
cmd=python count.py
nodes=3

[merge]
cmd=python merge.py

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

B) 提交命令

bcs sub --file job.cfg -r oss://your-bucket/log-count/:/home/input -w oss://your-bucket/log-count/:/home/output --docker localhost:5000/myubuntu@oss://your-bucket/dockers/
  • -r 和 -w 表示只讀掛載和可寫映射,具體請參考 OSS 掛載

  • 同一個 oss 路徑,可以掛載到不同的本地目錄。但是不同的 oss 路徑是不能掛載到同一個本地目錄的,一定要注意。

  • —docker 表示使用 docker,格式:image_name@storage_oss_path, 會自動將 docker 名稱和倉庫地址配置到環境變量。

  • 注意:bcs 使用的 region,一定要和 docker 所在 region 一致。

4. 查看作業運行狀態

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

5. 查看結果

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

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

內容應該如下:

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