想知道Python的資料驅動程式設計框架Da0tabot是怎麼執行?

膽小的皮皮發表於2019-02-21

前言

Da0tabot是用於 Web 爬蟲、ETL、資料管道任務開發的高效能 Python 資料驅動程式設計框架。
**
特性:**

  • 資料驅動程式設計框架
  • 基於協程的並行
  • 基於型別和內容的函式路由

安裝:

    pip install -U databot

Databot is…

簡單

每2秒載入一次CoinDesk比特幣價格. 高階價格聚合案例參見 here.


from databot.flow import Pipe, Timer
from databot.botframe import BotFrame
from databot.http.http import HttpLoader


def main():
    Pipe(
        Timer(delay=2),  # send timer data to pipe every 2 sen
        "http://api.coindesk.com/v1/bpi/currentprice.json",  # send url to pipe when timer trigger
        HttpLoader(),  # read url and load http response
        lambda r: r.json[`bpi`][`USD`][`rate_float`],  # read http response and parese as json
        print,  # print out
    )

    BotFrame.render(`simple_bitcoin_price`)
    BotFrame.run()

main()```

流程圖形化

databot 生成的流程圖:  
![](https://yqfile.alicdn.com/bf817f05db212da5438a3d02eb60c10b304a0862.png)


>小編推薦一個學python的學習qun 740322234
無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!


**快速**

節點並行執行可以很好的處理流資料

**視覺化**

執行函式: BotFrame.render(`bitcoin_arbitrage`) Databot 將會把資料處理流程生成為 graphviz 圖片:

https://github.com/kkyon/databot/blob/master/examples/bitcoin_arbitrage.png

**可重放**

配置可重放模式: config.replay_mode=True 異常發生在第N步的時候,不用從第一步執行到第N步,Databot可以從完成的最近點(通常是第N-1步)重新開始執行,在開發階段可以節約很多時間。


相關文章