全部產品
Search
文件中心

:DAG作業快速開始

更新時間:Jul 06, 2024

如果您還沒開通批次運算服務,請先開通。

命令列工具安裝和配置

命令列工具安裝和配置

作業準備

本作業的目的是求和,將 input.txt 中的數字全部加起來,求和後寫入 output.txt。

由於計算比較簡單本作業只需 1 個任務。

本例將 OSS 的目錄掛載為 VM 本地目錄,使用檔案方式操作。

上傳資料檔案到OSS

先自行建立 input.txt。

input.txt的內容(確保一行一個數字):

2
40
51

將 input.txt 上傳到您的 OSS bucket:

bcs o up input.txt oss://your-bucket/sum/inputs/

# 上傳完成後check
bcs o ls oss://your-bucket/sum/inputs/
  • your-bucket 表示您自己建立的 bucket,本例子假設 region 為:cn-shenzhen。

  • bcs o 命令提供幾個 OSS 常用的功能,使用 bcs o -h 可以查看協助,測試少量資料時使用很方便,但上傳下載大量資料時不建議使用(沒有實現多線程,上傳下載慢。更多關於如何上傳到 OSS,請參考 常用 OSS 工具

準備任務程式

sum.sh 內容:

#!/bin/bash
t=0
while read LINE
do
 t=$(($t+${LINE}))
done < /home/inputs/input.txt
echo $t
echo $t > /home/outputs/output.txt

注意在上一個步驟裡我們把輸入檔案 input.txt 上傳到了oss://your-bucket/sum/inputs/,在以上程式中 input.txt 是從虛擬機器的/home/inputs/目錄中讀取,這是通過批次運算中對 OSS 的掛載功能實現的,具體配置將在下一步驟“提交作業”中解釋。

在這個樣本程式裡,我們通過 bash 指令碼完成了求和的功能。您也可以在指令碼裡執行任何其他應用程式,如何把應用程式部署到批次運算環境請參考 使用Docker

提交作業

在 sum.sh 所在目錄運行下面的命令來提交作業:

bcs sub "sh sum.sh" -p sum.sh -r oss://your-bucket/sum/inputs/:/home/inputs/ -w oss://your-bucket/sum/outputs/:/home/outputs/
  • 這裡使用 預設鏡像和預設執行個體類型

  • -r 表示唯讀掛載,將 OSS 目錄oss://your-bucket/sum/inputs/唯讀掛載到 VM 本地目錄/home/inputs/,程式可以通過/home/inputs/路徑來訪問 input.txt 檔案。

  • -w 表示可寫掛載,將 OSS 目錄oss://your-bucket/sum/outputs/掛載為 VM 本地目錄/home/outputs/,寫入本地目錄/home/outputs/下的檔案 output.txt,會在程式運行完後,被自動上傳到 OSS 的對應目錄。

查看作業運行狀態及運行結果

bcs j   # 擷取作業列表, 每次擷取作業列表後都會將列表緩衝下來,一般第一個即是你剛才提交的作業
bcs j 1  # 查看緩衝中第一個作業的詳情
bcs log 1 # 查看緩衝中第一個作業日誌

可以使用以下命令查看結果:

bcs o cat oss://your-bucket/sum/outputs/output.txt