1、创建project文件,文件内容: azkaban-flow-version: 2.0
2、创建flow文件
3、打成zip包,上传web页面
①、大小写敏感
②、要有缩进,同一个层次,缩进要一样
③、缩进不能使用tab[除非使用yaml语言]
④、属性与值之间通过:分割,:后面要有空格
nodes:
nodes:
① retries: 重试次数
② retry.backoff: 每次重试的间隔时间
nodes:
要求在首行使用config设置公共参数
config:
retries: 3
retry.backoff: 5000 #单位是毫秒
nodes:
nodes:
type:javaprocess 代表运行java程序
java.class 代表运行哪个类[类中要有main方法]
Xmx: 运行最大内存
Xms: 启动内存
Xms、Xmx两个最好设置的一样,能够减少GC次数
nodes:
condition: 条件
需要将job的参数在脚本中存入azkaban内置变量中,内置变量名: $JOB_OUTPUT_PROP_FILE
后续取job传入的变量: ${job名称:变量名}
nodes:
a.sh脚本内容为:
echo ‘{“bb”:“BBB”}’ >> $JOB_OUTPUT_PROP_FILE
all_done: 所有依赖任务全部完成[kill,failed,success]才能够运行当前job
all_success: 所有依赖任务全部运行成功才能够运行当前Job
all_failed: 所有依赖任务全部运行失败才能够运行当前Job
one_failed: 所有依赖任务中至少有一个运行失败才能够运行当前Job
one_sucess: 所有依赖任务中至少有一个运行成功才能够运行当前Job
nodes:
{}中对象的属性名与属性值通过:分割,属性名要用"“引起来。属性值如果是字符串用”"引起来。属性与属性之间通过,分割
Class Person{
private String name;
private int age;
set/get方法
}
Person p = new Person()
p.setName(“zhangsan”)
p.setAge(20)
集合/数组: 通过[]标识
List 用json表示:[“hello”,“word”,".",…]
List 用json表示:[{“name”:“zhangsan”,“age”:20},{“name”:“lisi”,“age”:30},…]
JSON.toJsonString(对象)
JSON.parseObject(json字符串,类.class)
1、先安装GsonFormat插件:File–>Setting–>Plugins–>GsonFormat–>OK
2、new 一个新的Class空文件,然后 Alt+Insert组合快捷键,会弹出一个对话框如下。在对话框里面写Json对象。单击OK。
get请求的时候,参数都是拼在url后面,url与参数通过?分割,参数与参数之间通过&连接,参数与值之间通过=连接,参数与值之间通过
get请求不会向body中传入参数,而且get请求可以直接在浏览器上执行
url=http://localhost:8080/index/login?name=zhangsan&age=20&address=shenzhen
public static String get(String url) throws IOException {
//1、创建HttpClient
HttpClient client = new HttpClient();
//2、创建Method
GetMethod getMethod = new GetMethod(url);
//3、发起请求
//404 - url不存在
//500 - 接口代码报错
//200 - 请求成功
int code = client.executeMethod(getMethod);
//4、判断请求是否成功
//http://localhost:8080/abc/23?yy=zhangsan&name=wangwu
if(code==200){
//5、返回结果
return getMethod.getResponseBodyAsString();
}
return null;
}
post请求的时候,参数可以拼在url后面,url与参数通过?分割,参数与参数之间通过&连接,参数与值之间通过=连接,参数与值之间通过
post一般会在body中传入参数,post不可用直接通过浏览器执行
public static string post(String url,String content) throws IOException{
//1、创建HttpClient
HttpClient client = new HttpClient();
//2、创建Method
PostMethod method = new PostMethod(url);
//3、设置body参数
//设置参数
StringRequestEntity entity = new StringRequestEntity(content,"application/json","utf-8");
method.setRequestEntity(entity);
//4、发起请求
int code = client.executeMethod(method);
//5、判断请求是否成功
if(code==200){
//6、返回结果
return method.getResponseBodyAsString();
}
return null;
}