Azkaban
发表于|更新于
|浏览量:
坦诚是最明智的策略。——富兰克林
分享一个工作流框架
https://github.com/azkaban/azkaban
官方文档
Azkaban documentation! — Azkaban documentation
Azkaban是一个分布式工作流管理器,在LinkedIn上实现,以解决Hadoop作业依赖性的问题。我们的作业需要按顺序运行,从 ETL 作业到数据分析产品。
Features 特征
- 与任何版本的 Hadoop 兼容
- 易于使用的 Web UI
- 简单的 Web 和 http 工作流上传
- 项目工作区
- 工作流的调度
- 模块化和可插件化
- 身份验证和授权
- 跟踪用户操作
- 有关失败和成功的电子邮件警报
- SLA告警和自动杀伤
- 重试失败的作业
阿兹卡班的设计主要考虑了可用性。它已经在LinkedIn上运行了好几年,并驱动了他们的许多Hadoop和数据仓库流程。
相关推荐
2021-03-25
mybatis-plus默认查询方式
从善如登,从恶如崩。一一《国语》 我们在使用mybatis-plus条件构造器默认查询的时候 如果给的实体有值,则会根据实体内的值用对应字段去=查询 就像这样 12mpUserService.list(Wrappers.lambdaQuery(UserPO.builder().username("hino").build()));mpUserMapper.selectList(Wrappers.lambdaQuery(UserPO.builder().username("ruben").build())); 如果我们想要指定默认查询为LIKE 则可以在对应属性上加上注解@TableField并指定condition = SqlCondition.LIKE,就像这样 123456789101112131415161718192021222324252627282930package com.ruben.pojo.po;import com.baomidou.mybatisplus.annotation.*;import com.rube...
2024-04-12
mybatis-plus使用oceanbase-oracle模式
不用劳力而获得的东西,只有“贫困”。——莎士比亚 首先引入依赖 1234567891011<dependency> <groupId>com.oceanbase</groupId> <artifactId>oceanbase-client</artifactId> <version>最新版本</version> </dependency> <!-- mybatis-plus-boot-starter --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本</version> </dependency> 然后配置连接 1spring.datasource.url=jdbc:ocean...
2023-06-03
java图片切片
女人绝不会被奉承解除武装,而男人大都会陷落。——王尔德 可以使用hutool的ImgUtil.slice 1ImgUtil.slice(FileUtil.file("d:/test/logo.jpg"), FileUtil.file("d:/test/dest"), 200, 150); 123456789 /** * 图像切片(指定切片的宽度和高度) * * @param srcImageFile 源图像 * @param descDir 切片目标文件夹 * @param destWidth 目标切片宽度。默认200 * @param destHeight 目标切片高度。默认150 */public static void slice(final File srcImageFile, final File descDir, final int destWidth, final int destHeight) 而且除了指定宽度和高度的,还可以使用: 12345678910/** * 图像切割(指定切片的行数和列数...
2021-03-31
单表和连表?如何选择?
快乐,使生命得以延续。快乐,是精神和肉体的朝气,是希望和信念,是对自己的现在和来来的信心,是一切都该如此进行的信心。——果戈理 今天做了个小测试啊 我自己造了一百万多条(1029708条)数据 这里测试呢我们首先是编写了一个LEFT JOIN 连表SQL如下 123SELECT *FROM `film` LEFT JOIN `language` ON `film`.language_id = `language`.language_id 我们查询一百万多条后耗时为33457.8317 ms,大约30来秒,这是没有加索引的情况下 我们使用单表查询,然后再拼装 1234567891011long startTime = System.nanoTime();List<Film> films = filmMapper.selectList(Wrappers.lambdaQuery());List<Integer> languageIds = films.parallelStream().map(Film::getLanguageId).d...
2021-12-26
mybatis-plus允许自定义handlerType的set
与有肝胆人共事,从无字句处读书。——周恩来 今天看mybatis-plus源码发现了UpdateWrapper中的set竟然有一两个重载没有在官方文档写到: 一看官方示例,发现它可以临时自定义typeHandler,也就是类型处理器,以及属性所在的java类型和数据库中字段的数据类型(jdbcType) 例如官方示例传入的: 我们也可以像方法注释那样传入javaType和jdbcType 12345// wrapper typeHandler 测试 LambdaUpdateWrapper<User> wrapper = Wrappers.<User>lambdaUpdate().set(User::getWallets, Arrays.asList(new Wallet("Tom", Arrays.asList(new Currency("RMB", 1000d)))), "javaType=java.util.List,jdbcType=VARCHAR,type...
2022-06-12
bean-searcher整合mybatis-plus逻辑删除
人死像熟透的梨,离树而落,梨者,离也。——《活着》 需要用到参数过滤器: https://bs.zhxu.cn/guide/latest/advance.html#%E5%8F%82%E6%95%B0%E8%BF%87%E6%BB%A4%E5%99%A8 123456789101112131415161718192021@Beanpublic ParamFilter logicDeleteFilter() { return new ParamFilter() { @Override public <T> Map<String, Object> doFilter(BeanMeta<T> beanMeta, Map<String, Object> paraMap) { // beanMeta 是正在检索的实体类的元信息, paraMap 是当前的检索参数 // 返回过滤后的检索参数 TableInfo t...

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