DatabotPython 數(shù)據(jù)驅(qū)動(dòng)編程框架
用于 Web 爬蟲(chóng)、ETL、數(shù)據(jù)管道任務(wù)開(kāi)發(fā)的高性能 Python 數(shù)據(jù)驅(qū)動(dòng)編程框架。
特性:
數(shù)據(jù)驅(qū)動(dòng)編程框架
基于協(xié)程的并行
基于類型和內(nèi)容的函數(shù)路由
安裝:
pip install -U databot
Databot is...
簡(jiǎn)單
每2秒加載一次CoinDesk比特幣價(jià)格. 高級(jí)價(jià)格聚合案例參見(jiàn) 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 生成的流程圖:
快速
節(jié)點(diǎn)并行運(yùn)行可以很好的處理流數(shù)據(jù)
可視化
執(zhí)行函數(shù): BotFrame.render('bitcoin_arbitrage') Databot 將會(huì)把數(shù)據(jù)處理流程生成為 graphviz 圖片:https://github.com/kkyon/databot/blob/master/examples/bitcoin_arbitrage.png
可重放
配置可重放模式: config.replay_mode=True 異常發(fā)生在第N步的時(shí)候,不用從第一步執(zhí)行到第N步,Databot可以從完成的最近點(diǎn)(通常是第N-1步)重新開(kāi)始執(zhí)行,在開(kāi)發(fā)階段可以節(jié)約很多時(shí)間。
評(píng)論
圖片
表情
