默认情况下启用对时区的支持。 Airflow在内部和数据库中以UTC格式存储日期时间信息。 它允许您使用时区相关的计划运行DAG。 目前,Airflow不会将其转换为用户界面中的最终用户时区。 它始终以UTC显示。 此外,操作符中使用的模板也不会被转换。 时区信息是暴露出来的,由DAG的作者负责。

如果您的用户居住在多个时区,并且您希望根据每个用户的挂钟显示日期时间信息,这将非常方便。

即使您只在一个时区运行Airflow,在数据库中以UTC格式存储数据仍然是一种很好的做法(在Airflow成为时区之前也是如此,这也是建议的甚至是必需的设置)。 主要原因是夏令时(DST)。 许多国家都有DST系统,其中时钟在春季向前移动,在秋季向后移动。 如果您在当地工作,那么当转换发生时,您可能每年会遇到两次错误。 (钟摆和pytz文档更详细地讨论了这些问题。)这对于简单的DAG可能无关紧要,但如果您处于金融服务中,那么这是一个问题,在这些金融服务中您可以满足最后期限。

时区在<cite>airflow.cfg中</cite>设置。 默认情况下,它设置为utc,但您将其更改为使用系统设置或任意IANA时区,例如<cite>Europe / Amsterdam</cite> 。 它取决于<cite>钟摆</cite> ,它比<cite>pytz</cite>更准确。 安装Airflow时会安装Pendulum。

请注意,Web UI目前仅以UTC格式运行。

概念

天真并了解日期时间对象

Python的datetime.datetime对象具有tzinfo属性,可用于存储时区信息,表示为datetime.tzinfo的子类的实例。 设置此属性并描述偏移量时,可以识别日期时间对象。 否则,这是天真的。

您可以使用timezone.is_aware()和timezone.is_naive()来确定日期时间是否知晓或天真。

因为Airflow使用时区感知日期时间对象。 如果您的代码创建了datetime对象,那么他们也需要注意。

阅读全文/改进本文

Airflow 中文文档:时区相关推荐

  1. Airflow 中文文档:概念

    Airflow Platform是用于描述,执行和监控工作流的工具. 核心理念 DAG的 在Airflow中, DAG (或定向非循环图)是您要运行的所有任务的集合,以反映其关系和依赖关系的方式进行组 ...

  2. Airflow 中文文档:数据分析

    使用数据生产效率的一部分是拥有正确的武器来分析您正在使用的数据. Airflow提供了一个简单的查询界面来编写SQL并快速获得结果,以及一个图表应用程序,可以让您可视化数据. 临时查询 adhoc查询 ...

  3. Airflow 中文文档:API 参考

    运营商 运算符允许生成某些类型的任务,这些任务在实例化时成为DAG中的节点. 所有运算符都派生自BaseOperator ,并以这种方式继承许多属性和方法. 有关更多详细信息,请参阅BaseOpera ...

  4. Airflow 中文文档:常见问题

    为什么我的任务没有安排好? 您的任务可能无法安排的原因有很多. 以下是一些常见原因: 您的脚本是否"编译",Airflow引擎是否可以解析它并找到您的DAG对象. 要对此进行测试, ...

  5. Airflow 中文文档:用Dask扩展

    DaskExecutor允许您在Dask分布式群集中运行Airflow任务. Dask集群可以在单个机器上运行,也可以在远程网络上运行. 有关完整详细信息,请参阅分布式文档 . 要创建集群,首先启动调 ...

  6. Airflow 中文文档:用Celery扩大规模

    CeleryExecutor是您扩展工人数量的方法之一. 为此,您需要设置Celery后端( RabbitMQ , Redis ,-)并更改airflow.cfg以将执行程序参数指向CeleryExe ...

  7. Airflow 中文文档:管理连接

    Airflow需要知道如何连接到您的环境. 其他系统和服务的主机名,端口,登录名和密码等信息在UI的Admin->Connection部分中处理. 您将创作的管道代码将引用Connection对 ...

  8. Airflow 中文文档:集成

    反向代理 Azure:Microsoft Azure AWS:亚马逊网络服务 Databricks GCP:Google云端平台 反向代理 可以在反向代理后面设置气流,并能够灵活地设置其端点. 例如, ...

  9. Airflow 中文文档:安全

    默认情况下,所有门都打开. 限制对Web应用程序的访问的一种简单方法是在网络级别或使用SSH隧道执行此操作. 但是,可以通过使用其中一个提供的后端或创建自己的后端来打开身份验证. 请务必查看Exper ...

最新文章

  1. kepserver 6.5_非凡说| 先定一个6.5分小目标,财大生如何突破瓶颈拿下雅思!
  2. 隔离级别(未提交读、提交读、可重复读、可串行化)、多版本并发控制、Next-Key Locks(Record Locks、Gap Locks)
  3. uva 11401思维+预处理
  4. ios开发之--UIDocumentInteractionController的使用(实现更多分享服务)
  5. django-模型类管理器-create方法-models属性
  6. Java面试技巧—如何自我介绍
  7. Java基础系列13:JDBC批处理简介
  8. LeetCode632 最小区间
  9. 对研发团队稳定性的思考
  10. Linux之SELinux自主访问控制系统
  11. C语言函数指针简单应用
  12. java 面试基础总结(二)---多线程
  13. 【数学建模】基于matlab无线可充电传感器网络充电路线规划【含Matlab源码 750期】
  14. 图的遍历(广度优先遍历)- 数据结构和算法61
  15. 神经网络反向传播(BP)算法推导
  16. 基于RTMP协议的音视频传输----FLV格式
  17. 如何将超大文件传输给别人,超大文件如何传输
  18. 通信LOGO隐秘史(续集:运营商篇)
  19. 微信文件夹的dat文件怎么打开_微信文件夹里的照片文件是DAT格式怎么才能打开?...
  20. 如何更改itunes备份位置_itunes备份路径是什么,如何修改itunes备份路径

热门文章

  1. (53)Xilinx时钟原语-BUG与IBUFG(第11天)
  2. (22)FPGA面试技能提升篇(MicroBlaze、PowerPC)
  3. (26)计数器verilog与VHDL编码(学无止境)
  4. oracle导数据不释放内存,关于ORACLE数据库delete后释放空间问题
  5. QCostomPlot 示例注解 3
  6. 如何导出android studio程序,(技术)聊聊Android Studio 如何生成Jar
  7. 由PPPOE看Linux网络协议栈的实现
  8. 嵌入式Linux系统编程学习之十六用程序发送信号
  9. led灯条串联图_液晶电视维修:LED灯光电路原理,电路图原理分析?
  10. php文件覆盖相同文件,为什么这个PHP代码在打开时会覆盖文件内容?