成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

實用調(diào)度工具Airflow

企業(yè)動態(tài)
在傳統(tǒng)企業(yè)內(nèi)部,數(shù)據(jù)集成是基礎(chǔ),更是每個企業(yè)里面都至少有一個ETL工具或者調(diào)度+業(yè)務(wù)代碼實現(xiàn)ETL。說到ETL,開源比較有名的是kettle。

引言

前面寫過一篇文章《端午搬磚:聊聊調(diào)度云服務(wù)》,主要講云服務(wù)的。如果企業(yè)也業(yè)務(wù)上云,可以優(yōu)先選用這些服務(wù),減少工作量。

而在傳統(tǒng)企業(yè)內(nèi)部,數(shù)據(jù)集成是基礎(chǔ),更是每個企業(yè)里面都至少有一個ETL工具或者調(diào)度+業(yè)務(wù)代碼實現(xiàn)ETL。

Kettle

說到ETL,開源比較有名的是kettle(Kettle英文是水壺的名字,你要是去美國或者歐洲出差,很多酒店是不提供熱水的,你可以電話前臺要一個kettle)。現(xiàn)在有一家叫petaho的公司專門做kettle的商業(yè)版本。

Kettle

kettle是純java工具,Kettle 是一款國外開源的 ETL 工具,純 Java 編寫,Kettle 中有兩種腳本文件,transformation 和 job,transformation 完成針對數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,job 則完成整個工作流的控制。這個工具發(fā)展很久了,不過感覺很重型,又是個C/S框架的,不是很推薦。Github上看,支持的人還是比較少。

Kettle

一個通用的ETL工具其實是比較難的,主要是業(yè)務(wù)邏輯通常會靈活性和復(fù)雜度比較高,通過界面能全部配置出來太理想化了。所以反而是一些簡單的調(diào)度工具會適用范圍比較廣,業(yè)務(wù)邏輯由企業(yè)開發(fā)人員代碼實現(xiàn),只解決基本調(diào)度的問題。

Airflow

這里介紹一個Airflow,這個是由Airbnb公司貢獻的,(Airbnb,是一個讓大眾出租住宿民宿的網(wǎng)站,提供短期出租房屋或房間的服務(wù)。最近業(yè)務(wù)也開到中國來了) 。這家公司前面還有一個基于mesos的chronos調(diào)度服務(wù),見文章《Chronos:數(shù)據(jù)中心的任務(wù)調(diào)度器(job scheduler)》,不過現(xiàn)在已經(jīng)停止更新了。Airflow是由airbnb的Maxime Beauchemin創(chuàng)建,目前是apache孵化項目,很有特點:

1. 主要是由Python實現(xiàn)的。Job定義也是靠python,不提供xml和界面定義的方式。下面是一個pipeline的定義例子,python本身是一種比較簡潔的語言,容易上手,所以經(jīng)過一定的學(xué)習(xí)還是很容易掌握的。

  1. """ 
  2. Code that goes along with the Airflow tutorial located at: 
  3. https://github.com/airbnb/airflow/blob/master/airflow/example_dags/tutorial.py 
  4. """ 
  5. from airflow import DAG 
  6. from airflow.operators.bash_operator import BashOperator 
  7. from datetime import datetime, timedelta 
  8. default_args = { 
  9. 'owner': 'airflow', 
  10. 'depends_on_past': False, 
  11. 'start_date': datetime(2015, 6, 1), 
  12. 'email': ['airflow@airflow.com'], 
  13. 'email_on_failure': False, 
  14. 'email_on_retry': False, 
  15. 'retries': 1, 
  16. 'retry_delay': timedelta(minutes=5), 
  17. # 'queue': 'bash_queue', 
  18. # 'pool': 'backfill', 
  19. # 'priority_weight': 10, 
  20. # 'end_date': datetime(2016, 1, 1), 
  21. dag = DAG('tutorial', default_argsdefault_args=default_args) 
  22. # t1, t2 and t3 are examples of tasks created by instantiating operators 
  23. t1 = BashOperator
  24. task_id='print_date'
  25. bash_command='date'
  26. dagdag=dag) 
  27. t2 = BashOperator
  28. task_id='sleep'
  29. bash_command='sleep 5'
  30. retries=3
  31. dagdag=dag) 
  32. templated_command = ""
  33. {% for i in range(5) %} 
  34. echo "{{ ds }}" 
  35. echo "{{ macros.ds_add(ds, 7)}}" 
  36. echo "{{ params.my_param }}" 
  37. {% endfor %} 
  38. """ 
  39. t3 = BashOperator
  40. task_id='templated'
  41. bash_command=templated_command
  42. params={'my_param': 'Parameter I passed in'}, 
  43. dagdag=dag) 
  44. t2.set_upstream(t1) 
  45. t3.set_upstream(t1) 

2. 使用Jinja來做模板引擎,所以支持模板,Jinja也是Python實現(xiàn)的,對Python真是真愛呀。

3. 雖然不支持常見的UI定義Pipeline,但是還是有豐富的UI界面來幫助pipeline的維護和管理。

(1)pipeline狀態(tài)

pipeline狀態(tài)

(2)任務(wù)進度

(3)依賴關(guān)系管理

(4)甘特圖可讓您分析任務(wù)持續(xù)時間和重疊。幫助快速找出瓶頸以及大部分時間花在特定DAG運行中的位置。

(5)過去N批次運行不同任務(wù)的持續(xù)時間。快速查找異常值,并快速了解在多個運行中在DAG中花費的時間。

(6)更有意思的是,還支持交互式查詢,一些基本,簡單的數(shù)據(jù)分析在工具中就可以完成,所見即所得,不用編寫pipeline,等任務(wù)完成之后才知道結(jié)果。

http://airflow.incubator.apache.org/profiling.html

4. 擴展性方面支持和Celery和mesos集成

5. ***再看看社區(qū)狀況,人不少,281個

不過14年的項目,現(xiàn)在還沒有畢業(yè),時間有點長了,可能是Airbnb也并不熱衷這個事情。一個好的開源軟件,背后一定要看到一個商業(yè)公司來推動他的發(fā)展,否則穩(wěn)定性和未來的發(fā)展可能會一定的問題。

總結(jié)建議

 

***,我個人的建議是,如果你想對調(diào)度工具有很強的掌控力,且有能力維護,就考慮選擇airflow吧,否則還是算了吧。

【本文為51CTO專欄作者“大數(shù)據(jù)和云計算”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號獲取聯(lián)系和授權(quán)】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2021-08-11 10:50:35

AirFlow MaxCompute阿里云

2021-05-14 11:39:58

SchedulePython工具

2021-11-29 08:48:00

K8S KubernetesAirflow

2009-07-10 17:54:29

SwingUtilit

2016-05-25 10:14:04

開源數(shù)據(jù)管道 ETL

2022-05-16 08:27:20

KubernetePodLinux

2022-09-16 11:23:59

Python框架Celery

2022-02-25 09:03:49

工具Swift項目

2022-01-05 19:34:18

AirflowCeleryMYSQL

2022-01-03 23:59:15

任務(wù)調(diào)度框架

2011-01-27 16:53:13

系統(tǒng)清理工具BleachBitLinux

2011-01-14 13:40:24

UbuntuLinux Tips

2020-11-11 11:05:41

Linux工具命令

2020-04-26 08:22:53

前端網(wǎng)站工具代碼

2022-01-05 00:03:32

場景容器Airflow

2013-10-22 09:44:53

數(shù)據(jù)中心商業(yè)模式AWS

2013-03-20 09:40:46

HTMLCSS工具

2025-03-04 10:49:51

2020-08-27 13:45:24

Linux監(jiān)控工具命令

2019-03-29 09:00:31

Kubernetes開發(fā)者工具
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 久久噜噜噜精品国产亚洲综合 | 日本精品久久 | 99久久精品国产一区二区三区 | 黄色毛片在线观看 | 国产精品一区二区三区四区 | 国产一区电影 | 日本福利视频免费观看 | 91 久久 | 日韩三级在线观看 | 男女精品网站 | 亚洲精品成人av久久 | 久久激情视频 | 中文字幕亚洲区一区二 | 日本不卡在线视频 | 免费一区二区 | 天天操网 | 欧美日韩久久精品 | 欧美日韩在线一区 | 国产精品不卡一区 | 亚洲444kkkk在线观看最新 | 99re在线视频 | 91日韩| 欧美日韩国产精品一区 | 国产亚洲黄色片 | 亚洲一区二区在线 | 亚洲444eee在线观看 | 成人在线观看免费 | 久久精品小视频 | 中文字幕日韩欧美一区二区三区 | 久久综合久 | 亚洲乱码国产乱码精品精98午夜 | 欧美日韩综合一区 | 天天色影视综合 | 精品久久久一区 | 色888www视频在线观看 | 久久久亚洲综合 | 日韩电影一区二区三区 | 国产精品日韩一区二区 | 国产 欧美 日韩 一区 | 色婷婷综合成人av | 亚洲国产一区在线 |