一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于非常簡(jiǎn)單的Python代碼就能完成流水線(xiàn)開(kāi)發(fā)

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

掃碼添加小助手

加入工程師交流群

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

基于非常簡(jiǎn)單的Python代碼就能完成流水線(xiàn)開(kāi)發(fā)。

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

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

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

基于成本的優(yōu)先隊(duì)列:首先運(yùn)行具有較高成本(基于記錄的運(yùn)行時(shí)間)的節(jié)點(diǎn)。

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

1.安裝

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

使用pip安裝Mara-pipelines:

pip install mara-pipelines

或者:

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

2.使用示例

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

# 注意,這個(gè)示例中使用了部分國(guó)外的網(wǎng)站,如果無(wú)法訪(fǎng)問(wèn),請(qǐng)變更為國(guó)內(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包含了多個(gè)commands,這些 command s會(huì)用于真正地執(zhí)行動(dòng)作。

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

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

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

為了運(yùn)行這個(gè)流水線(xiàn),需要配置一個(gè) PostgreSQL 數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)運(yùn)行時(shí)信息、運(yùn)行輸出和增量處理狀態(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 正在運(yùn)行并且賬號(hào)密碼正確,輸出如下所示(創(chuàng)建了一個(gè)包含多個(gè)表的數(shù)據(jù)庫(kù)):

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

為了運(yùn)行這個(gè)流水線(xiàn),你需要:

frommara_pipelines.ui.cli importrun_pipeline

run_pipeline(pipeline)

這將運(yùn)行單個(gè)流水線(xiàn)節(jié)點(diǎn)及其 (sub_pipeline) 所依賴(lài)的所有節(jié)點(diǎn):

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

3.Web 界面

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

對(duì)于每條流水線(xiàn),他們都有一個(gè)頁(yè)面顯示:

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

流水線(xiàn)的總體運(yùn)行時(shí)間圖表以及過(guò)去 30 天內(nèi)最昂貴的節(jié)點(diǎn)(可配置)

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

流水線(xiàn)最后一次運(yùn)行的輸出和時(shí)間線(xiàn)

對(duì)于每個(gè)任務(wù),都有一個(gè)頁(yè)面顯示

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

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

任務(wù)的所有命令

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

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

責(zé)任編輯:haq

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

    關(guān)注

    8

    文章

    7256

    瀏覽量

    91887
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86761

原文標(biāo)題:超級(jí)方便的輕量級(jí) Python 流水線(xiàn)工具,還有漂亮的可視化界面!

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    自動(dòng)化開(kāi)裝封碼流水線(xiàn)數(shù)據(jù)采集解決方案

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

    遠(yuǎn)程io模塊在汽車(chē)流水線(xiàn)的應(yīng)用

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

    RISC-V五級(jí)流水線(xiàn)CPU設(shè)計(jì)

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

    工業(yè)讀碼器解決方案在自動(dòng)化流水線(xiàn)上掃描條碼的應(yīng)用

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

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

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

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

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

    流水線(xiàn)中Half-Buffer與Skid-Buffer的使用

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

    行云流水線(xiàn) 滿(mǎn)足你對(duì)工作流編排的一切幻想~skr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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