Bagian ini menjelaskan cara menggunakan konsol untuk mengirimkan pekerjaan yang bertujuan menghitung jumlah kemunculan INFO, WARN, ERROR, dan DEBUG dalam file log.
Pastikan Anda telah mendaftarkan layanan Batch Compute terlebih dahulu.
Isi:
Siapkan pekerjaan.
1.1 Unggah file data ke OSS.
1.2 Unggah program tugas ke OSS.
Gunakan konsol untuk mengirimkan pekerjaan.
Periksa status pekerjaan.
Periksa hasilnya.
1. Siapkan pekerjaan
Pekerjaan ini bertujuan untuk menghitung jumlah kemunculan INFO, WARN, ERROR, dan DEBUG dalam file log.
Pekerjaan ini mencakup tugas-tugas berikut:
Tugas split digunakan untuk membagi file log menjadi tiga bagian.
Tugas count digunakan untuk menghitung jumlah kemunculan INFO, WARN, ERROR, dan DEBUG di setiap bagian file log. Dalam tugas count, InstanceCount harus diatur ke 3, yang menunjukkan bahwa tiga tugas count dimulai secara bersamaan.
Tugas merge digunakan untuk menggabungkan semua hasil penghitungan.
DAG:

1.1 Unggah File Data ke OSS
Unduh file data yang digunakan dalam contoh ini: log-count-data.txt.
Unggah file log-count-data.txt ke:
oss://your-bucket/log-count/log-count-data.txtyour-bucketmenunjukkan bucket yang dibuat oleh Anda sendiri. Dalam contoh ini, diasumsikan bahwa wilayahnya adalahcn-shenzhen.Untuk informasi lebih lanjut tentang cara mengunggah data ke OSS, lihat Unggah File ke OSS dan Alat OSS Umum.
1.2 Unggah Program Tugas ke OSS
Program pekerjaan yang digunakan dalam contoh ini dikompilasi menggunakan Python. Unduh program log-count.tar.gz.
Dalam contoh ini, tidak perlu memodifikasi kode sampel. Anda dapat langsung mengunggah log-count.tar.gz ke OSS, misalnya:
oss://your-bucket/log-count/log-count.tar.gz.
Metode unggah telah dijelaskan sebelumnya.
Batch Compute hanya mendukung paket kompresi dengan ekstensi tar.gz. Pastikan Anda menggunakan metode gzip untuk pengepakan; jika tidak, paket tersebut tidak dapat diuraikan.
Jika Anda harus memodifikasi kode, dekompresi file, modifikasi kode, lalu ikuti langkah-langkah berikut untuk mengemas kode yang telah dimodifikasi:
Perintahnya adalah sebagai berikut:
> cd log-count # Beralih ke direktori.
> tar -czf log-count.tar.gz * # Kemas semua file di bawah direktori ini ke log-count.tar.gz.Anda dapat menjalankan perintah berikut untuk memeriksa isi paket kompresi:
$ tar -tvf log-count.tar.gzDaftar berikut ditampilkan:
conf.py
count.py
merge.py
split.py2. Gunakan konsol untuk mengirimkan pekerjaan
Masuk ke Konsol Batch Compute.
Pilih Daftar Pekerjaan > Kirim Pekerjaan, dan kirimkan pekerjaan. Pilih wilayah yang sesuai, yang harus sama dengan wilayah bucket.
Di sini, AutoCluster digunakan untuk mengirimkan pekerjaan. Untuk AutoCluster, Anda harus mengonfigurasi setidaknya dua parameter, termasuk:
ID gambar yang tersedia. Anda dapat menggunakan gambar yang disediakan oleh sistem atau menyesuaikan gambar. Untuk informasi lebih lanjut tentang cara menyesuaikan gambar, lihat Gunakan Gambar.
InstanceType. Untuk informasi lebih lanjut tentang jenis instans, lihat Jenis Instans yang Saat Ini Didukung.
Untuk menjalankan contoh ini, Anda juga perlu mengubah PackagePath (direktori OSS tempat pekerjaan dikemas dan diunggah. Dalam contoh ini adalah
oss://your-bucket/log-count/log-count.tar.gz),StdoutRedirectPath, dan StderrRedirectPath (alamat keluaran hasil tugas dan kesalahan) ke direktori OSS yang sesuai (
oss://your-bucket/log-count/logs/dalam contoh ini).Berikut ini menunjukkan template JSON dari pekerjaan. Untuk informasi lebih lanjut tentang parameter, klik di sini.
{ "DAG": { "Dependencies": { "split": [ "count" ], "count": [ "merge" ], "merge": [] }, "Tasks": { "split": { "InstanceCount": 1, "LogMapping": {}, "AutoCluster": { "Configs": { "Networks": { "VPC": { "CidrBlock": "192.168.0.0/16" } } }, "ResourceType": "OnDemand", "InstanceType": "ecs.sn1ne.large", "ImageId": "img-ubuntu-vpc" }, "Parameters": { "Command": { "EnvVars": {}, "CommandLine": "python split.py", "PackagePath": "oss://your-bucket/log-count/log-count.tar.gz" }, "InputMappingConfig": { "Lock": true }, "StdoutRedirectPath": "oss://your-bucket/log-count/logs/", "StderrRedirectPath": "oss://your-bucket/log-count/logs/" }, "InputMapping": { "oss://your-bucket/log-count/": "/home/input/" }, "OutputMapping": { "/home/output/": "oss://your-bucket/log-count/" }, "MaxRetryCount": 0, "Timeout": 21600, "ClusterId": "" }, "merge": { "InstanceCount": 1, "LogMapping": {}, "AutoCluster": { "Configs": { "Networks": { "VPC": { "CidrBlock": "192.168.0.0/16" } } }, "ResourceType": "OnDemand", "InstanceType": "ecs.sn1ne.large", "ImageId": "img-ubuntu-vpc" }, "Parameters": { "Command": { "EnvVars": {}, "CommandLine": "python merge.py", "PackagePath": "oss://your-bucket/log-count/log-count.tar.gz" }, "InputMappingConfig": { "Lock": true }, "StdoutRedirectPath": "oss://your-bucket/log-count/logs/", "StderrRedirectPath": "oss://your-bucket/log-count/logs/" }, "InputMapping": { "oss://your-bucket/log-count/": "/home/input/" }, "OutputMapping": { "/home/output/": "oss://your-bucket/log-count/" }, "MaxRetryCount": 0, "Timeout": 21600, "ClusterId": "" }, "count": { "InstanceCount": 3, "LogMapping": {}, "AutoCluster": { "Configs": { "Networks": { "VPC": { "CidrBlock": "192.168.0.0/16" } } }, "ResourceType": "OnDemand", "InstanceType": "ecs.sn1ne.large", "ImageId": "img-ubuntu-vpc" }, "Parameters": { "Command": { "EnvVars": {}, "CommandLine": "python count.py", "PackagePath": "oss://your-bucket/log-count/log-count.tar.gz" }, "InputMappingConfig": { "Lock": true }, "StdoutRedirectPath": "oss://your-bucket/log-count/logs/", "StderrRedirectPath": "oss://your-bucket/log-count/logs/" }, "InputMapping": { "oss://your-bucket/log-count/": "/home/input/" }, "OutputMapping": { "/home/output/": "oss://your-bucket/log-count/" }, "MaxRetryCount": 0, "Timeout": 21600, "ClusterId": "" } } }, "Description": "pekerjaan batchcompute", "Priority": 0, "JobFailOnInstanceFail": true, "Type": "DAG", "Name": "log-count" }Periksa bahwa semua parameter dan direktori benar, klik Kirim Pekerjaan di pojok kiri bawah, lalu klik OK.
3. Periksa status pekerjaan
Klik pekerjaan yang baru saja dikirimkan
log-countdalam daftar pekerjaan untuk melihat detail pekerjaan ini.
Klik nama tugas
splituntuk melihat detail tugas ini.
Klik blok hijau untuk melihat log instans.

4. Periksa hasil eksekusi pekerjaan
Anda dapat masuk ke Konsol OSS dan periksa file berikut di bawah bucket Anda: /log-count/merge_result.json.
Hasil yang diharapkan adalah sebagai berikut:
{"INFO": 2460, "WARN": 2448, "DEBUG": 2509, "ERROR": 2583}