Azkaban
发表于|更新于
|浏览量:
坦诚是最明智的策略。——富兰克林
分享一个工作流框架
https://github.com/azkaban/azkaban
官方文档
Azkaban documentation! — Azkaban documentation
Azkaban是一个分布式工作流管理器,在LinkedIn上实现,以解决Hadoop作业依赖性的问题。我们的作业需要按顺序运行,从 ETL 作业到数据分析产品。
Features 特征
- 与任何版本的 Hadoop 兼容
- 易于使用的 Web UI
- 简单的 Web 和 http 工作流上传
- 项目工作区
- 工作流的调度
- 模块化和可插件化
- 身份验证和授权
- 跟踪用户操作
- 有关失败和成功的电子邮件警报
- SLA告警和自动杀伤
- 重试失败的作业
阿兹卡班的设计主要考虑了可用性。它已经在LinkedIn上运行了好几年,并驱动了他们的许多Hadoop和数据仓库流程。
相关推荐
2023-02-02
Tailer
这个世界上没有无用的齿轮,也只有齿轮本身能决定自己的用途。——《嫌疑犯X的献身》 分享一个小工具,Hutool里有一个Tailer文件跟随很好用 文档:https://hutool.cn/docs/#/core/IO/%E6%96%87%E4%BB%B6/%E6%96%87%E4%BB%B6%E8%B7%9F%E9%9A%8F-Tailer 由来有时候我们要启动一个线程实时“监控”文件的变化,比如有新内容写出到文件时,我们可以及时打印出来,这个功能非常类似于Linux下的tail -f命令。 使用12Tailer tailer = new Tailer(FileUtil.file("f:/test/test.log"), Tailer.CONSOLE_HANDLER, 2);tailer.start(); 其中Tailer.CONSOLE_HANDLER表示文件新增内容默认输出到控制台。 123456789101112/** * 命令行打印的行处理器 * * @author looly * @since 4.5.2 */public static c...
2021-02-05
apache的Http请求
天地英雄气,千秋尚凛然。一一刘禹锡 我们的Springboot已经为我们引用了依赖 但我们还需要一个 123456<!-- apache http前置依赖 --><dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-servlet</artifactId> <version>1.19</version></dependency> 首先是一个GET请求 我们接口使用@RequestParam接参,所以请求格式应该是http://127.0.0.1:8080/user/say?word=xxx这样的 代码如下 12345678910// 指定url和参数,可以在queryParam后继续追加参数HttpGet request = new HttpGet(UriBuilder.fromUri("http://127.0.0.1:8080/user/say&q...
2022-12-16
获取泛型map工具类
一个人如果抛弃他忠实的朋友,就等于抛弃他最珍贵的声明。——索福克勒斯 代码如下: 1234567891011121314151617181920212223242526public static Map<String, Type> getGenericMap(Type paramType) { Type type = resolveType(paramType); if (type instanceof ParameterizedTypeImpl) { ParameterizedTypeImpl ty = (ParameterizedTypeImpl) type; final Class<?> rawType = ty.getRawType(); return Steam.of(rawType.getTypeParameters()).map(Type::getTypeName) .zip(Steam.of(ty.getActualTypeArgum...
2021-10-09
Sa-Token中SerializationException
有两件事我最憎恶:没有信仰的博才多学和充满信仰的愚昧无知。——爱默生 今天把Sa-Token中的用户状态进行持久层扩展 使用了jdk默认序列化方式后报错,清除缓存后又换成了jackson序列化方式 结果还是报错SerializationException,提示我LocalDateTime没有默认构造器 既然我项目中mvc使用的fastJson配置过LocalDateTime的转换,那我就继续用fastJson进行拓展吧: 首先是配置FastJson 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657package com.ruben.xchat.config;import com.alibaba.fastjson.parser.ParserConfig;import com.alibaba.fastjson.serializer.SerializeConfig;import com.alibaba.fastjson.s...
2023-09-29
多模块spring注入处理
踏破铁鞋无觅处,得来全不费功夫。——施耐庵 今天在搭建多模块项目时发现一个问题,其中一个公共依赖里需要注入的bean,注入不到字模块spring容器里去 最后在resources/META-INF/spring下面新建了org.springframework.boot.autoconfigure.AutoConfiguration.imports 内容为 12com.xxx.GlobalExceptionHandlercom.xxx.GlobalRestResultHandler 手动指定要注入的bean搞定了 见:2.7版本spring.factories弃用 | 阿超
2023-10-07
sa-token实现网关调用认证服务统一鉴权
多言则背道,多欲则伤生。——林逋 按照文档里集成时发现一个问题: https://sa-token.cc/doc.html#/micro/gateway-auth 其中在web-flux的网关处调用认证子服务进行鉴权,按照文档里进行配置后 checkPermission函数会调用StpInterface,然后我实现的StpInterface是同步的,本来用open-feign实现后,发现open-feign不支持webflux!虽然有个三方库 feign-reactive 可以支持,但考虑了下,还是采用webclient实现 但由于webclient此处不能阻塞调用,所以就手动实现SaReactorFilter完成封装 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog