更新时间:2019-11-11 09:40
本作业程序使用 python 编写,目的是统计一个日志文件中 “INFO”,”WARN”,”ERROR”,”DEBUG” 出现的次数。
该作业包含3个任务: split, count 和 merge。
DAG图例:
下载本示例所需的数据: log-count-data.txt
将 log-count-data.txt 上传到:
oss://your-bucket/log-count/log-count-data.txt
本示例的作业程序使用 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, 或者控制台提交,本例子使用命令行工具提交。
在 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。
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/
bcs 使用的 region,一定要和 docker 所在 region 一致。
bcs j # 获取作业列表, 每次获取作业列表后都会将列表缓存下来,一般第一个即是你刚才提交的作业
bcs ch 1 # 查看缓存中第一个作业的状态
bcs log 1 # 查看缓存中第一个作业日志
Job 结束后,可以使用以下命令查看存在 OSS 中的结果。
bcs oss cat oss://your-bucket/log-count/merge_result.txt
内容应该如下:
{"INFO": 2460, "WARN": 2448, "DEBUG": 2509, "ERROR": 2583}
在文档使用中是否遇到以下问题
更多建议
匿名提交