你好!
我们每天晚上都会向其所有者发送大量有关产品指标的夜间报告。几年前,他们是由定期的Cron收集的,但事实证明这是一个非常不稳定的故事。Cron需要考虑某些细微差别和纪律:如果未收集报告,则需要重新启动脚本。而且它可能由于多种原因而失败:一个MySQL数据库没有响应,或者轮询的服务没有响应,或者运行Cron的服务器在夜间重新启动或出现故障。这些报告大多数是由分析师创建的,他们通常没有将所有这些考虑在内。因为他们是分析师,但这不是他们的任务。因此,我们开始寻找可以使每个人的生活更轻松的选择。
他们找到了。
Airflow Kubernetes. . , , Data Team, – , - .
– , , . – , , . , , , , . , , , , , – , .
. – . : , . , production-, , . , . , . .
, - : . python, Cron' . , . , , – . : , , , .
DataTeam . , .
: "", , .
- – . , , , – . , , , . , , . Cron . , .
Cron' . , , - . Cron' . , , . .
– , . , , . : , , - . - ( , ). , .
, ( ), . Kubernetes'. , CronJob. , Cron'. : , CronJob , . , , . , Cron , . CronJob "" ( : A cron job creates a job object about once per execution time of its schedule. ). "" , . . CronJob . .
, Kubernetes' . , CronJob , , . – , . , , , . , , , , - , , .
, . Airflow.
Airflow
(, ). Arflow , . – ( directed acyclic graph).
– , . , , . Airflow . , .
– . Cron CronJob . Cron' , , CronJob – Kubernetes'. , Airflow , Kubernetes', - . , . Airflow , , . .
, , Kubernetes'. Airflow , , : KubernetesPodOperator KubernetesExecutor. KubernetesPodOperator: docker- Kubernetes'.
kubernetes-client API Kubernetes', Airflow. configmap' , . KubernetesExecutor' : Airflow , , .
Airflow + KubernetesPodOperator + Kubernetes , , , Airflow Kubernetes, , - .
KubernetesPodOperator'
Kubernetes' Docker' Airflow. - SimpleHttpOperator' PythonOperator', http- , . , , - . – , -. , : , , , . Airflow. – - , , , , .
, .
: . . BI- Metabase, . ().
Airflow + KubernetesPodOperator + Kubernetes .
, " !"?
:
;
, ;
, ;
, .
, Airflow , / ;, , ;
5.
, "how to" Airflow , .