欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

超級(jí)方便的輕量級(jí)Python流水線工具

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-31 11:26 ? 次閱讀

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

  • 基于非常簡單的Python代碼就能完成流水線開發(fā)。
  • 使用 PostgreSQL 作為數(shù)據(jù)處理引擎。
  • 有Web界面可視化分析流水線執(zhí)行過程。
  • 基于 Python 的 multiprocessing 單機(jī)流水線執(zhí)行。不需要分布式任務(wù)隊(duì)列。輕松調(diào)試和輸出日志。
  • 基于成本的優(yōu)先隊(duì)列:首先運(yùn)行具有較高成本(基于記錄的運(yùn)行時(shí)間)的節(jié)點(diǎn)。

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

1.安裝

由于使用了大量的依賴,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ǔ)的流水線演示,由三個(gè)相互依賴的節(jié)點(diǎn)組成,包括 任務(wù)1(ping_localhost), 子流水線(sub_pipeline), 任務(wù)2(sleep):

# 注意,這個(gè)示例中使用了部分國外的網(wǎng)站,如果無法訪問,請(qǐng)變更為國內(nèi)網(wǎng)站。
from mara_pipelines.commands.bash import RunBash
from mara_pipelines.pipelines import Pipeline, Task
from mara_pipelines.ui.cli import run_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')

for host 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è)流水線,需要配置一個(gè) PostgreSQL 數(shù)據(jù)庫來存儲(chǔ)運(yùn)行時(shí)信息、運(yùn)行輸出和增量處理狀態(tài):

import mara_db.auto_migration
import mara_db.config
import mara_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ù)庫):

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

CREATE TABLE data_integration_file_dependency (
    node_path TEXT[] NOT NULL,
    dependency_type VARCHAR NOT NULL,
    hash VARCHAR,
    timestamp TIMESTAMP WITHOUT TIME ZONE,
    PRIMARY KEY (node_path, dependency_type)
);

.. more tables

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

from mara_pipelines.ui.cli import run_pipeline

run_pipeline(pipeline)

圖片

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

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

3.Web 界面

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

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

  • 所有子節(jié)點(diǎn)的圖以及它們之間的依賴關(guān)系
  • 流水線的總體運(yùn)行時(shí)間圖表以及過去 30 天內(nèi)最昂貴的節(jié)點(diǎn)(可配置)
  • 所有流水線節(jié)點(diǎn)及其平均運(yùn)行時(shí)間和由此產(chǎn)生的排隊(duì)優(yōu)先級(jí)的表
  • 流水線最后一次運(yùn)行的輸出和時(shí)間線

圖片

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

  • 流水線中任務(wù)的上游和下游
  • 最近 30 天內(nèi)任務(wù)的運(yùn)行時(shí)間
  • 任務(wù)的所有命令
  • 任務(wù)最后運(yùn)行的輸出

圖片

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

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

    關(guān)注

    2

    文章

    1271

    瀏覽量

    69746
  • 流水線
    +關(guān)注

    關(guān)注

    0

    文章

    121

    瀏覽量

    25965
  • 數(shù)據(jù)轉(zhuǎn)換

    關(guān)注

    0

    文章

    88

    瀏覽量

    18044
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4809

    瀏覽量

    85054
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA中的流水線設(shè)計(jì)

    `流水線設(shè)計(jì)前言:本文從四部分對(duì)流水線設(shè)計(jì)進(jìn)行分析,具體如下:第一部分什么是流水線第二部分什么時(shí)候用流水線設(shè)計(jì)第三部分使用流水線的優(yōu)缺點(diǎn)第四
    發(fā)表于 10-26 14:38

    周期精確的流水線仿真模型

    使用軟件仿真硬件流水線是很耗時(shí)又復(fù)雜的工作,仿真過程中由于流水線的沖突而導(dǎo)致運(yùn)行速度緩慢。本文通過對(duì)嵌入式處理器的流水線, 指令集, 設(shè)備控制器等內(nèi)部結(jié)構(gòu)的分析和
    發(fā)表于 12-31 11:30 ?9次下載

    什么是流水線技術(shù)

    什么是流水線技術(shù) 流水線技術(shù)
    發(fā)表于 02-04 10:21 ?3951次閱讀

    流水線中的相關(guān)培訓(xùn)教程[1]

    流水線中的相關(guān)培訓(xùn)教程[1]  學(xué)習(xí)目標(biāo)     理解流水線中相關(guān)的分類及定義;
    發(fā)表于 04-13 15:56 ?1085次閱讀

    電鍍流水線的PLC控制

    電鍍流水線的PLC控制電鍍流水線的PLC控制電鍍流水線的PLC控制
    發(fā)表于 02-17 17:13 ?36次下載

    裝配流水線控制系統(tǒng)設(shè)計(jì)

    裝配流水線控制系統(tǒng)設(shè)計(jì)
    發(fā)表于 12-17 15:26 ?14次下載

    FPGA之流水線練習(xí)(3):設(shè)計(jì)思路

    流水線的平面設(shè)計(jì)應(yīng)當(dāng)保證零件的運(yùn)輸路線最短,生產(chǎn)工人操作方便,輔助服務(wù)部門工作便利,最有效地利用生產(chǎn)面積,并考慮流水線安裝之間的相互銜接。為滿足這些要求,在流水線平面布置時(shí)應(yīng)考慮
    的頭像 發(fā)表于 11-28 07:07 ?2419次閱讀

    FPGA之為什么要進(jìn)行流水線的設(shè)計(jì)

    流水線又稱為裝配線,一種工業(yè)上的生產(chǎn)方式,指每一個(gè)生產(chǎn)單位只專注處理某一個(gè)片段的工作。以提高工作效率及產(chǎn)量;按照流水線的輸送方式大體可以分為:皮帶流水裝配線、板鏈線、倍速鏈、插件線、網(wǎng)帶線、懸掛線及滾筒
    的頭像 發(fā)表于 11-28 07:04 ?3661次閱讀

    各種流水線特點(diǎn)及常見流水線設(shè)計(jì)方式

    按照流水線的輸送方式大體可以分為:皮帶流水裝配線、板鏈線、倍速鏈、插件線、網(wǎng)帶線、懸掛線及滾筒流水線這七類流水線。
    的頭像 發(fā)表于 07-05 11:12 ?7485次閱讀
    各種<b class='flag-5'>流水線</b>特點(diǎn)及常見<b class='flag-5'>流水線</b>設(shè)計(jì)方式

    如何選擇合適的LED生產(chǎn)流水線輸送方式

    LED生產(chǎn)流水線輸送形式分為平面直線傳輸流水線、各種角度平面轉(zhuǎn)彎傳輸流水線、斜面上傳流水線、斜面下傳流水線這四種輸送方式,企業(yè)也是可以根據(jù)L
    發(fā)表于 08-06 11:53 ?1069次閱讀

    嵌入式_流水線

    流水線一、定義流水線是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。各種部件同時(shí)處理是針對(duì)不同指令而言的,他們可同時(shí)為多條指令的不同部分進(jìn)行工作。? 把一個(gè)重復(fù)的過程分解為若干個(gè)子過程
    發(fā)表于 10-20 20:51 ?6次下載
    嵌入式_<b class='flag-5'>流水線</b>

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

    Mara-pipelines 是一個(gè)輕量級(jí)的數(shù)據(jù)轉(zhuǎn)換框架,具有透明和低復(fù)雜性的特點(diǎn)。其他特點(diǎn)如下: 基于非常簡單的Python代碼就能完成流水線開發(fā)。 使用 PostgreSQL 作為數(shù)據(jù)處理引擎
    的頭像 發(fā)表于 11-16 18:20 ?2988次閱讀

    CPU流水線的問題

    1989 年推出的 i486 處理器引入了五級(jí)流水線。這時(shí),在 CPU 中不再僅運(yùn)行一條指令,每一級(jí)流水線在同一時(shí)刻都運(yùn)行著不同的指令。這個(gè)設(shè)計(jì)使得 i486 比同頻率的 386 處理器性能提升了不止一倍。
    的頭像 發(fā)表于 09-22 10:04 ?2063次閱讀

    什么是流水線 Jenkins的流水線詳解

    jenkins 有 2 種流水線分為聲明式流水線與腳本化流水線,腳本化流水線是 jenkins 舊版本使用的流水線腳本,新版本 Jenkin
    發(fā)表于 05-17 16:57 ?1120次閱讀

    Mara-pipelines:輕量級(jí)的數(shù)據(jù)轉(zhuǎn)換框架

    Mara-pipelines 是一個(gè)輕量級(jí)的數(shù)據(jù)轉(zhuǎn)換框架,具有透明和低復(fù)雜性的特點(diǎn)。其他特點(diǎn)如下: 基于非常簡單的Python代碼就能完成流水線開發(fā)。 使用 PostgreSQL 作為數(shù)據(jù)處理引擎
    的頭像 發(fā)表于 10-30 10:47 ?666次閱讀
    Mara-pipelines:<b class='flag-5'>輕量級(jí)</b>的數(shù)據(jù)轉(zhuǎn)換框架