Apache Airflow

数禾云上数据湖最佳实践

吃可爱长大的小学妹 提交于 2021-01-21 16:43:59
目录 1. 数禾科技 2. 云上自建CDH 3. 云上混合架构 4. 阿里云第一代数据湖 4.1. 什么是数据湖 4.2. 阿里云数据湖设计 4.2.1. 阿里云数据湖整体架构 4.2.2. 统一存储和元数据管理 4.2.3. 多EMR多OSS桶设计 4.2.4. 分布式调度系统设计 4.2.5. 用户权限系统设计 4.2.6. EMR弹性伸缩设计 4.2.7. 负载均衡管理 4.2.8. OSS桶生命周期管理 4.2.9. 日志管理 4.2.10. 终端权限管理 4.2.11. 组件UI管理 4.2.12. 监控告警管理 4.2.13. 即席查询设计 4.2.14. 集群安全组设计 4.2.15. 数据脱敏设计 4.2.16. YARN队列设计 4.3. 数据湖EMR治理 4.3.1. 调整EMR预伸缩时间 4.3.2. 更改EMR弹性伸缩策略 4.3.3. 优化EMR云盘空间 4.3.4. EMR机器组的选择 4.3.5. EMR成本控制 4.3.6. 购买RI预留抵扣券 4.3.7. 弹性保障 4.4. 数据湖OSS治理 4.4.1. 数仓ODS多版本桶治理 4.4.2. 数仓日志桶治理 4.4.3. 数仓桶和集市桶治理 4.4.4. 监控桶内对象 5. 阿里云第二代数据湖 5.1. 阿里云数据湖构建 5.2. 阿里云数据湖解决方案 1.数禾科技 数禾科技成立于2015年8月

AirFlow-Install

a 夏天 提交于 2020-11-29 14:24:37
AirFlow-Installation https://airflow.incubator.apache.org/installation.html Getting Airflow The easiest way to install the latest stable version of Airflow is with pip : pip install apache-airflow You can also install Airflow with support for extra features like s3 or postgres : pip install "apache-airflow[s3, postgres]" Extra Packages The apache-airflow PyPI basic package only installs what’s needed to get started. Subpackages can be installed depending on what will be useful in your environment. For instance, if you don’t need connectivity with Postgres, you won’t have to go through the

【异常】lockfile.AlreadyLocked: ~/airflow/airflow-scheduler.pid is already locked

て烟熏妆下的殇ゞ 提交于 2020-11-29 11:50:18
1 完整异常信息 File "/usr/bin/airflow", line 32, in <module> args.func(args) File "/usr/lib/python2.7/site-packages/airflow/utils/cli.py", line 74, in wrapper return f(*args, **kwargs) File "/usr/lib/python2.7/site-packages/airflow/bin/cli.py", line 1000, in scheduler with ctx: File "/usr/lib/python2.7/site-packages/daemon/daemon.py", line 397, in __enter__ self.open() File "/usr/lib/python2.7/site-packages/daemon/daemon.py", line 389, in open self.pidfile.__enter__() File "/usr/lib/python2.7/site-packages/lockfile/__init__.py", line 197, in __enter__ self.acquire() File "/usr/lib/python2.7/site

Airflow教程-使用Airflow实现ETL调度

纵饮孤独 提交于 2020-11-29 11:50:06
一、Airflow是什么 airflow 是一个编排、调度和监控workflow的平台,由Airbnb开源,现在在Apache Software Foundation 孵化。airflow 将workflow编排为由tasks组成的DAGs(有向无环图),调度器在一组workers上按照指定的依赖关系执行tasks。同时,airflow 提供了丰富的命令行工具和简单易用的用户界面以便用户查看和操作,并且airflow提供了监控和报警系统。 二、Airflow的核心概念 DAGs:即有向无环图(Directed Acyclic Graph),将所有需要运行的tasks按照依赖关系组织起来,描述的是所有tasks执行的顺序。 Operators:airflow内置了很多operators,如BashOperator 执行一个bash 命令,PythonOperator 调用任意的Python 函数,EmailOperator 用于发送邮件,HTTPOperator 用于发送HTTP请求, SqlOperator 用于执行SQL命令...同时,用户可以自定义Operator,这给用户提供了极大的便利性。可以理解为用户需要的一个操作,是Airflow提供的类 Tasks:Task 是 Operator的一个实例 Task Instance:由于Task会被重复调度

使用这个 Python 库,只需一行命令,给头像戴上口罩!

半腔热情 提交于 2020-11-28 03:08:00
👆 “ Python猫 ” ,一个值得加星标的 公众号 花下猫语: 二月来了,再过两天就是立春了,新的日子,新的气象,新的希望就要来临了。同学们,坚持住!如今之计是继续做好防护。今天给大家分享一篇文章,作者发布了一个库,可轻松给图片内的头像戴上口罩,推荐尝试! 来源:Prodesire公众号 | 作者:Prodesire 前言 2019 年底开始蔓延的新型肺炎疫情牵动人心,作为个体,我们力所能及的就是尽量待在家中少出门。 看到一些朋友叫设计同学帮忙给自己的头像戴上口罩,作为技术人,心想一定还有更多人有这样的诉求,不如开发一个简单的程序来实现这个需求,也算是帮助设计姐姐减少工作量。 于是花了些时间,写了一个叫做 face-mask [1] 的命令行工具,能够轻松的给图片中的人像戴上口罩,而且口罩的方向和大小都是适应人脸的哦~ 使用 安装 face-mask 确保 Python 版本在 3.6 及以上 pip install face-mask 使用 face-mask 直接指定图片路径即可为图片中的人像戴上口罩,并会生成一个新的图片(额外有 -with-mask 后缀): face-mask /path/to/face/picture 通过指定 --show 选项,还可以使用默认图片查看器打开新生成的图片: face-mask /path/to/face/picture --show

xxl-job总体还可以,轻量级,应能满足需求,有几个关键的能力

▼魔方 西西 提交于 2020-10-14 22:57:51
xxl-job总体还可以,轻量级,应能满足需求,有几个关键的能力 1、内部多线程,多任务可在单个执行器上并发执行 2、支持简单的任务依赖关系,工作流 3、支持多语言Java、Shell、Python等 4、支持单实例调度(可以解决业务中台多实例部署的分布式锁问题)、分片调度 5、有界面,支持多租户隔离,每个租户管理自己的执行器,互相不影响 6、问题:普通用户没有权限管理自己的执行器,做成多租户模式需要提前向admin申请分配执行器名称 其他的工作流调度系统,Argo、Airflow、ooize、AZKaban、Luigi、elastic-job、quartz等 其中 Argo是K8S生态的工作流调度新秀,功能非常完善,git活跃度非常高 来源: oschina 链接: https://my.oschina.net/u/4332858/blog/4279865

大数据组件实操

痴心易碎 提交于 2020-10-08 02:31:47
大数据组件实操,选择流行的大数据组件: Spark,airflow,zeppelin,ELK三剑客 今天开始实操airflow的使用。 来源: oschina 链接: https://my.oschina.net/u/778683/blog/4297897

基于开源架构的任务调度系统在证券数据处理中的探索和实践

二次信任 提交于 2020-09-28 13:26:07
摘要: 为了应对证券行业盘后批处理业务复杂度上升带来的批处理时间窗口逐步缩小和运维越来越困难的挑战,上交所技术积极拥抱开源技术,结合上交所批处理的生产经验教训,以零人工介入、自动化运维为目标,开发了一种跨平台、支持多种部署模式的任务调度系统。本文从上交所批处理系统面临的实际挑战出发,通过调研几类典型的批处理架构,选择以开源软件Spring cloud dataflow为基础,设计并研发了上交所批处理任务调度系统。目前,该系统已经在交易系统生产环境上平稳试运行半年有余,为该系统在上交所各技术系统的推广打下了坚实的基础。 关键字:( 任务调度、批处理、Spring cloud dataflow、上交所技术 ) 背景和挑战 随着证券交易市场的快速发展,交易业务种类和待处理数据量也随之不断增加,核心应用系统的批处理业务越来越复杂。不同的批处理业务不但内部批处理单元相互依赖,而且与上下游对接系统的交互也越来越繁杂,导致留给批处理业务的处理时间窗口和应急时间窗口越来越小,这些都对新的批处理架构的高效性、高可用性和易维护性等方面提出了更高的要求。针对上交所批处理业务目前的实际情况,面临着如下问题和挑战。 首先是上交所各系统业务类型和数据量的增多对批处理架构的调度性能和功能提出了更多的要求。目前,上交所的核心交易盘后批处理业务类型越来越多,比如A/B股、综合业务、期权、沪港通等

Airflow Dag可视化管理编辑工具Airflow Console

微笑、不失礼 提交于 2020-08-13 12:13:21
Airflow Console: https://github.com/Ryan-Miao/airflow-console Apache Airflow 扩展组件, 可以辅助生成dag, 并存储到git仓库. Airflow提供了基于python语法的dag任务管理,我们可以定制任务内容 和任务依赖. 但对于很多数据分析人员来说,操作还是过于复杂. 期望可以 通过简单的页面配置去管理dag. 即本项目提供了一个dag可视化配置管理方案. 如何使用 一些概念 DAG : Airflow原生的dag, 多个任务依赖组成的有向无环图, 一个任务依赖链。 Ext Dag : DAG扩展, DAG生成模板,通过页面配置Ext Dag可以一键生成DAG python配置。 Ext Dag Category : Airflow原生不提供分类的概念,但Console我们扩展了分类功能, 我们创建不同Dag模板可以分属于不同的DAG分类。 Ext Dag Task : Ext Dag的任务,真正任务的封装体,分为Operator和Sensor, 可以组装成Ext Dag. 1.创建业务分类. 我们的调度任务可以根据业务进行分类. 首先创建我们的业务类型. 2.创建dag 3.创建任务 点击task按钮进入task列表, 再点击add添加一个任务. 添加bash任务 添加hive sql任务

不容忽视气溶胶传播!239名科学家致信世卫组织,呼吁修改新冠预防建议

落爺英雄遲暮 提交于 2020-08-10 05:50:16
   新冠病毒是否会飘荡在空气中进行传播,成为一众科学家与世界卫生组织(WHO)近期的辩论焦点。   7 月 5 日,据《纽约时报》报道,来自 32 个国家的 239 名科学家概述了空气传播的可能性,表明病毒可以通过更小的颗粒物感染人类,并呼吁 WHO 尽快修改其对外的建议方针,研究人员计划近期通过一些科学期刊杂志发表他们的公开信。   长期以来,WHO 一直认为冠状病毒主要通过呼吸道飞沫传播,飞沫一旦被感染者通过咳嗽和打喷嚏排出,它们就会迅速落到地板上或停留在一些物品上。即使在 6 月 29 日发布的关于新冠病毒的最新进展中,WHO 仍表示,只有经过产生气溶胶的特定方式,或小于 5 微米的液滴颗粒,病毒才有可能在空中传播。   根据 WHO 的说法,只有在这种情况下,适当的通风和佩戴 N95 口罩才值得关注。让科学家们不解的是,在这次大流行之前和期间,其感染控制指南大力宣传洗手作为一项主要预防策略的重要性,尽管只有有限的证据表明病毒会从表面接触传播。    数百名科学家们的观点是,新冠病毒可能正在全球范围内的酒吧、饭店、办公室、市场中寻找新的宿主,引起令人恐惧的群体感染,许多科学家几个月来一直想要强调的是:该病毒可在室内空气中悬浮,感染附近的人。 如果空气传播是造成大流行的重要因素,那么在通风不良的拥挤空间中,后果将是严重的。   因此不管是在社交场合,还是室内,可能都需要戴口罩