91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

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

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

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-10-30 10:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

  • 基于非常簡單的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)站。
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包含了多個commands,這些 commands會用于真正地執(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):

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 正在運行并且賬號密碼正確,輸出如下所示(創(chuàng)建了一個包含多個表的數(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

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

from mara_pipelines.ui.cli import run_pipeline

run_pipeline(pipeline)

圖片

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

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

3.Web 界面

我認(rèn)為 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)用運行,這是非常棒的特點:

圖片

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

    關(guān)注

    0

    文章

    90

    瀏覽量

    18272
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70743
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    一個面向嵌入式系統(tǒng)的輕量級框架

    mr-library 是一個面向嵌入式系統(tǒng)的輕量級框架,提供統(tǒng)一的底層驅(qū)動設(shè)備模型以及基礎(chǔ)服務(wù)功能,具有模塊化設(shè)計、可配置性和擴(kuò)展性的特點, 可幫助開發(fā)者快速構(gòu)建嵌入式應(yīng)用程序。
    發(fā)表于 09-01 12:22 ?801次閱讀

    10個輕量級框架

    這些輕量級框架使用HTML5和CSS3標(biāo)準(zhǔn)來幫助您快速開發(fā)跨平臺的Web移動應(yīng)用和網(wǎng)站。
    發(fā)表于 07-17 08:25

    輕量級深度學(xué)習(xí)網(wǎng)絡(luò)是什么

    輕量級深度學(xué)習(xí)網(wǎng)絡(luò)概覽
    發(fā)表于 04-23 14:53

    輕量級的ui框架如何去制作

    原創(chuàng)分享:自制輕量級單片機UI框架框架元素用戶接口代碼開源平時常看csdn,但是從來沒有自己寫過。正好這幾天需要用單片機做一個簡易的ui界面,于是自己寫了一個輕量級的ui
    發(fā)表于 07-14 07:39

    Dllite_micro (輕量級的 AI 推理框架

    DLLite-Micro 是一個輕量級的 AI 推理框架,可以為 OpenHarmony OS 的輕量設(shè)備和小型設(shè)備提供深度模型的推理能力DLLite-Micro 向開發(fā)者提供清晰、易上手的北向接口
    發(fā)表于 08-05 11:40

    如何自制輕量級單片機UI框架

    如何自制輕量級單片機UI框架
    發(fā)表于 10-14 06:13

    一種超輕量級的flashKV數(shù)據(jù)存儲方案分享

    tinyFlash一種超輕量級的flash KV數(shù)據(jù)存儲方案Github 地址:https://github.com/ospanic/tinyFlash設(shè)計原理本方案采用兩個扇區(qū)輪流使用的方法存儲
    發(fā)表于 12-20 06:08

    輕量級的SDN數(shù)據(jù)包轉(zhuǎn)發(fā)驗證方案

    輕量級的SDN數(shù)據(jù)包轉(zhuǎn)發(fā)驗證方案
    發(fā)表于 06-08 11:29 ?10次下載

    原創(chuàng)分享:自制輕量級單片機UI框架

    原創(chuàng)分享:自制輕量級單片機UI框架框架元素用戶接口代碼開源平時常看csdn,但是從來沒有自己寫過。正好這幾天需要用單片機做一個簡易的ui界面,于是自己寫了一個輕量級的ui
    發(fā)表于 11-05 15:20 ?29次下載
    原創(chuàng)分享:自制<b class='flag-5'>輕量級</b>單片機UI<b class='flag-5'>框架</b>

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

    Mara-pipelines 是一個輕量級數(shù)據(jù)轉(zhuǎn)換框架,具有透明和低復(fù)雜性的特點。其他特點如下: 基于非常簡單的Python代碼就能完成流
    的頭像 發(fā)表于 11-16 18:20 ?3175次閱讀

    測評分享 | 如何在先楫HPM6750上運行輕量級AI推理框架TinyMaix

    本期內(nèi)容由先楫開發(fā)者社區(qū)大咖@xusiwei1236分享基于先楫HPM6750的輕量級AI推理框架,趕緊來瞧瞧~一、TinyMaix是什么?TinyMaix是國內(nèi)sipeed團(tuán)隊開發(fā)一個輕量級AI
    的頭像 發(fā)表于 12-12 17:57 ?1990次閱讀
    測評分享 | 如何在先楫HPM6750上運行<b class='flag-5'>輕量級</b>AI推理<b class='flag-5'>框架</b>TinyMaix

    輕量級數(shù)據(jù)庫有哪些

    輕量級數(shù)據(jù)庫有哪些 隨著互聯(lián)網(wǎng)和物聯(lián)網(wǎng)等新一代信息技術(shù)的廣泛應(yīng)用,數(shù)據(jù)庫系統(tǒng)也變得越來越重要。人們對于數(shù)據(jù)數(shù)據(jù)庫的可靠性、安全性和性能等要求也越來越高。與傳統(tǒng)的關(guān)系型
    的頭像 發(fā)表于 08-28 16:41 ?6640次閱讀

    一個輕量級的權(quán)限認(rèn)證框架:Sa-Token

    Java有很多優(yōu)秀的權(quán)限認(rèn)證框架,如 Apache Shiro 、 Spring Security 等,但是集成起來實在是有些復(fù)雜;今天給大家介紹一個輕量級的權(quán)限認(rèn)證框架:Sa-Token,只需引入
    的頭像 發(fā)表于 09-30 16:46 ?3183次閱讀
    一個<b class='flag-5'>輕量級</b>的權(quán)限認(rèn)證<b class='flag-5'>框架</b>:Sa-Token

    超級方便的輕量級Python流水線工具

    Mara-pipelines 是一個輕量級數(shù)據(jù)轉(zhuǎn)換框架,具有透明和低復(fù)雜性的特點。其他特點如下: 基于非常簡單的Python代碼就能完成流
    的頭像 發(fā)表于 10-31 11:26 ?1013次閱讀
    超級方便的<b class='flag-5'>輕量級</b>Python流水線工具

    基于Python 輕量級ORM框架

    ORM框架使用最廣泛的就是SQLAlchemy和Django自帶的ORM框架,但是SQLAlchemy的語法顯然相對Django的ORM框架麻煩一點。 而Django本身是一個web框架
    的頭像 發(fā)表于 11-01 11:17 ?882次閱讀
    基于Python <b class='flag-5'>輕量級</b>ORM<b class='flag-5'>框架</b>
    主站蜘蛛池模板: 狠狠狠 | 日本aaaa| 欧美影欧美影院免费观看视频 | 精品一精品国产一级毛片 | 天天黄色| 99热.com| 成人种子| 亚洲一区二区三区首页 | 99啪啪| 日本免费www | 一级特黄aa大片免费 | 在线小视频你懂的 | 亚洲综合天堂网 | 亚洲国产第一区二区香蕉 | 成人网18免费下 | 四虎影视免费 | 日本大片成人免费播放 | 天天拍夜夜添久久精品中文 | 激情综合五月网 | 国产精品欧美一区二区三区 | 久久精品影视 | 天天干天天做 | 成熟女人免费一级毛片 | 五月天激情开心网 | 男人的天堂免费视频 | 国产女人18毛片水真多18精品 | 男女视频在线观看 | 日本www网站 | 人人福利 | 孩交精品xxxx视频视频 | 亚洲人成人网毛片在线播放 | 欧美高清一区二区三 | 色www视频永久免费软件 | 亚洲68283精品人体 | 久久国产精品亚洲综合 | 91在线播放免费不卡无毒 | 中国一级特黄高清免费的大片 | 伊人精品成人久久综合欧美 | 九九热国产在线 | 最新色网站 | 一区二区免费在线观看 |