99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于非常簡單的Python代碼就能完成流水線開發(fā)

Linux愛好者 ? 來源:Python實用寶典 ? 作者:Ckend ? 2021-11-16 18:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Mara-pipelines 是一個輕量級的數(shù)據(jù)轉(zhuǎn)換框架,具有透明和低復雜性的特點。其他特點如下:

基于非常簡單的Python代碼就能完成流水線開發(fā)。

使用 PostgreSQL 作為數(shù)據(jù)處理引擎。

有Web界面可視化分析流水線執(zhí)行過程。

基于 Python 的 multiprocessing 單機流水線執(zhí)行。不需要分布式任務(wù)隊列。輕松調(diào)試和輸出日志。

基于成本的優(yōu)先隊列:首先運行具有較高成本(基于記錄的運行時間)的節(jié)點。

此外,在Mara-pipelines的Web界面中,你不僅可以查看和管理流水線及其任務(wù)節(jié)點,你還可以直接觸發(fā)這些流水線和節(jié)點,非常好用:

1.安裝

由于使用了大量的依賴,Mara-pipelines 并不適用于 Windows,如果你需要在 Windows 上使用 Mara-pipelines,請使用 Docker 或者 Windows 下的 linux 子系統(tǒng)。

使用pip安裝Mara-pipelines:

pip install mara-pipelines

或者:

pip install git+https://github.com/mara/mara-pipelines.git

2.使用示例

這是一個基礎(chǔ)的流水線演示,由三個相互依賴的節(jié)點組成,包括 任務(wù)1(ping_localhost), 子流水線(sub_pipeline), 任務(wù)2(sleep):

# 注意,這個示例中使用了部分國外的網(wǎng)站,如果無法訪問,請變更為國內(nèi)網(wǎng)站。
frommara_pipelines.commands.bash importRunBash
frommara_pipelines.pipelines importPipeline, Task
frommara_pipelines.ui.cli importrun_pipeline, run_interactively

pipeline = Pipeline(
id='demo',
description='A small pipeline that demonstrates the interplay between pipelines, tasks and commands')

pipeline.add(Task(id='ping_localhost', description='Pings localhost',
commands=[RunBash('ping -c 3 localhost')]))

sub_pipeline = Pipeline(id='sub_pipeline', description='Pings a number of hosts')

forhost in['google', 'amazon', 'facebook']:
sub_pipeline.add(Task(id=f'ping_{host}', description=f'Pings {host}',
commands=[RunBash(f'ping -c 3 {host}.com')]))

sub_pipeline.add_dependency('ping_amazon', 'ping_facebook')
sub_pipeline.add(Task(id='ping_foo', description='Pings foo',
commands=[RunBash('ping foo')]), ['ping_amazon'])

pipeline.add(sub_pipeline, ['ping_localhost'])

pipeline.add(Task(id='sleep', description='Sleeps for 2 seconds',
commands=[RunBash('sleep 2')]), ['sub_pipeline'])

可以看到,Task包含了多個commands,這些 command s會用于真正地執(zhí)行動作。

而 pipeline.add 的參數(shù)中,第一個參數(shù)是其節(jié)點,第二個參數(shù)是此節(jié)點的上游。如:

pipeline.add(sub_pipeline, ['ping_localhost'])

則表明必須執(zhí)行完 ping_localhost 才會執(zhí)行 sub_pipeline.

為了運行這個流水線,需要配置一個 PostgreSQL 數(shù)據(jù)庫來存儲運行時信息、運行輸出和增量處理狀態(tài):

importmara_db.auto_migration
importmara_db.config
importmara_db.dbs

mara_db.config.databases 
= lambda: {'mara': mara_db.dbs.PostgreSQLDB(host='localhost', user='root', database='example_etl_mara')}

mara_db.auto_migration.auto_discover_models_and_migrate()

如果 PostgresSQL 正在運行并且賬號密碼正確,輸出如下所示(創(chuàng)建了一個包含多個表的數(shù)據(jù)庫):

Created database "postgresql+psycopg2://root@localhost/example_etl_mara"

CREATETABLEdata_integration_file_dependency (
node_path TEXT[] NOTNULL, 
dependency_type VARCHARNOTNULL, 
hashVARCHAR, 
timestampTIMESTAMPWITHOUTTIMEZONE, 
PRIMARY KEY(node_path, dependency_type)
);

.. more tables

為了運行這個流水線,你需要:

frommara_pipelines.ui.cli importrun_pipeline

run_pipeline(pipeline)

這將運行單個流水線節(jié)點及其 (sub_pipeline) 所依賴的所有節(jié)點:

run_pipeline(sub_pipeline, nodes=[sub_pipeline.nodes['ping_amazon']], with_upstreams=True)

3.Web 界面

我認為 mara-pipelines 最有用的是他們提供了基于Flask管控流水線的Web界面。

對于每條流水線,他們都有一個頁面顯示:

所有子節(jié)點的圖以及它們之間的依賴關(guān)系

流水線的總體運行時間圖表以及過去 30 天內(nèi)最昂貴的節(jié)點(可配置)

所有流水線節(jié)點及其平均運行時間和由此產(chǎn)生的排隊優(yōu)先級的表

流水線最后一次運行的輸出和時間線

對于每個任務(wù),都有一個頁面顯示

流水線中任務(wù)的上游和下游

最近 30 天內(nèi)任務(wù)的運行時間

任務(wù)的所有命令

任務(wù)最后運行的輸出

此外,流水線和任務(wù)可以直接從網(wǎng)頁端調(diào)用運行,這是非常棒的特點。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7256

    瀏覽量

    91901
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86784

原文標題:超級方便的輕量級 Python 流水線工具,還有漂亮的可視化界面!

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    自動化開裝封碼流水線數(shù)據(jù)采集解決方案

    在智能制造加速推進的時代背景下,自動化開裝封碼流水線廣泛應用于食品、藥品、日化、電子等眾多行業(yè),承擔著產(chǎn)品自動開箱、裝填、封箱、貼標及碼垛的核心生產(chǎn)任務(wù)。隨著生產(chǎn)規(guī)模擴大和精細化管理需求的提升,對流水線
    的頭像 發(fā)表于 06-27 15:56 ?179次閱讀
    自動化開裝封碼<b class='flag-5'>流水線</b>數(shù)據(jù)采集解決方案

    遠程io模塊在汽車流水線的應用

    在汽車制造領(lǐng)域,生產(chǎn)流水線的高效、穩(wěn)定運行是保障產(chǎn)品質(zhì)量與生產(chǎn)效率的關(guān)鍵。隨著工業(yè) 4.0 和智能制造理念的深入,汽車生產(chǎn)企業(yè)對流水線自動化控制提出了更高要求,不僅要實現(xiàn)設(shè)備間的精準協(xié)同作業(yè),還需
    的頭像 發(fā)表于 06-11 15:26 ?243次閱讀

    RISC-V五級流水線CPU設(shè)計

    本文實現(xiàn)的CPU是一個五級流水線的精簡版CPU(也叫PCPU,即pipeline),包括IF(取指令)、ID(解碼)、EX(執(zhí)行)、MEM(內(nèi)存操作)、WB(回寫)。
    的頭像 發(fā)表于 04-15 09:46 ?768次閱讀
    RISC-V五級<b class='flag-5'>流水線</b>CPU設(shè)計

    工業(yè)讀碼器解決方案在自動化流水線上掃描條碼的應用

    工業(yè)讀碼器解決方案在自動化流水線上的應用主要包括以下幾個方面:1、提高生產(chǎn)效率和準確性工業(yè)讀碼器嵌入在工業(yè)流水線中,無需人工掃描,大大提高了效率,節(jié)約了人力成本。讀碼效果穩(wěn)定,準確率非常高,可以通過
    的頭像 發(fā)表于 11-20 16:28 ?690次閱讀
    工業(yè)讀碼器解決方案在自動化<b class='flag-5'>流水線</b>上掃描條碼的應用

    SMT流水線布局優(yōu)化技巧

    在電子制造領(lǐng)域,SMT(表面貼裝技術(shù))流水線的布局優(yōu)化對于提高生產(chǎn)效率、降低成本和提升產(chǎn)品質(zhì)量至關(guān)重要。一個合理的流水線布局可以減少物料搬運時間,提高設(shè)備利用率,減少人為錯誤,并且提高整體的生產(chǎn)
    的頭像 發(fā)表于 11-14 09:11 ?1093次閱讀

    工業(yè)流水線的智能助手——智能計數(shù),效率倍增

    在工業(yè)流水線中,每一個產(chǎn)品的計數(shù)都至關(guān)重要。迪卡爾ITMC-DSeries-x02系列物聯(lián)網(wǎng)測控終端,您的智能生產(chǎn)伙伴。
    的頭像 發(fā)表于 11-06 17:11 ?796次閱讀
    工業(yè)<b class='flag-5'>流水線</b>的智能助手——智能計數(shù),效率倍增

    流水線中Half-Buffer與Skid-Buffer的使用

    引發(fā)上述問題的原因是未能及時阻塞之前的流水線,再深究其原因,是因為其輸入側(cè)和輸出側(cè)的握手允許在相同時鐘周期完成,所以阻塞的信息沒有同步到上級。
    的頭像 發(fā)表于 11-05 17:16 ?1057次閱讀
    <b class='flag-5'>流水線</b>中Half-Buffer與Skid-Buffer的使用

    行云流水線 滿足你對工作流編排的一切幻想~skr

    流水線模型 眾所周知,DevOps流水線(DevOps pipeline)的本質(zhì)是實現(xiàn)自動化工作流程,用于支持軟件開發(fā)、測試和部署的連續(xù)集成、交付和部署(CI/CD)實踐。它是DevOps方法論
    的頭像 發(fā)表于 08-05 13:42 ?549次閱讀

    ADS900高速流水線模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADS900高速流水線模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-30 14:11 ?0次下載
    ADS900高速<b class='flag-5'>流水線</b>模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    ADS930高速流水線模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADS930高速流水線模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-30 14:10 ?1次下載
    ADS930高速<b class='flag-5'>流水線</b>模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    ADS901高速流水線模數(shù)轉(zhuǎn)換器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADS901高速流水線模數(shù)轉(zhuǎn)換器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-30 11:43 ?1次下載
    ADS901高速<b class='flag-5'>流水線</b>模數(shù)轉(zhuǎn)換器數(shù)據(jù)表

    ADS5421流水線式模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADS5421流水線式模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-30 11:16 ?0次下載
    ADS5421<b class='flag-5'>流水線</b>式模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    ADS5413 CMOS流水線模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADS5413 CMOS流水線模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-29 13:21 ?0次下載
    ADS5413 CMOS<b class='flag-5'>流水線</b>模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    ADS5237流水線式模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADS5237流水線式模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-29 11:46 ?0次下載
    ADS5237<b class='flag-5'>流水線</b>式模數(shù)轉(zhuǎn)換器(ADC)數(shù)據(jù)表

    ADS828流水線式CMOS模數(shù)轉(zhuǎn)換器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADS828流水線式CMOS模數(shù)轉(zhuǎn)換器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-23 09:17 ?0次下載
    ADS828<b class='flag-5'>流水線</b>式CMOS模數(shù)轉(zhuǎn)換器數(shù)據(jù)表