在這篇文章中,我們將解析如何解決複雜的數據挑戰、數據處理和數據管理,使用一個完全開源的 Python 庫:Taipy。無論您是在清理數據、協調任務,還是探索不同的結果,Taipy 的直觀設計都使您能夠應對所有挑戰。

 
help wanted

{% cta https://github.com/Avaiga/taipy style="text-align:center %} Star Taipy ⭐️ {% endcta %}

 

Taipy 的情境管理基礎

讓我們通過三個步驟來展示 Taipy 如何幫助簡化您的數據工作流程:


1. 數據整合:獲取您所需的數據

每個 AI、ML 和數據驅動的項目都明顯從數據開始!
而且,這通常不僅僅是一個單一、乾淨的數據集。在大多數情況下,您將需要從資料庫、API、平面文件或其他外部來源提取數據,有時甚至會在同一個項目中同時使用所有這些來源。這就是 Taipy 的數據整合發揮作用的地方——從這些不同來源收集和統一數據。

 

在 Taipy 中,這個過程通過一個關鍵的抽象得以簡化:數據節點(Data Node)

 

數據節點代表您的數據,但不會直接存儲它。相反,它保存了讀取和寫入實際數據所需的所有元數據,無論是 CSV 文件、數據庫表還是 API 相應的資料。

Data Node in Taipy

 

以下是一個定義 CSV 數據節點的簡單示例:

from taipy import Config
initial_dataset_cfg = Config.configure_data_node(id="initial_dataset",
                                                 storage_type="csv",
                                                 path="data/dataset.csv",
                                                 scope=Scope.GLOBAL)

通過這種抽象,Taipy 便可以處理數據管理,讓您專注於轉換和處理數據。


2. 任務協調:您將如何處理這些數據?

現在您的數據已經到位,接下來該怎麼辦?在任何數據工作流程中,下一步涉及定義處理和轉換數據的任務。這就是我們所稱的 任務協調(Task Orchestration)

Taipy 中,任務就像一個函數,接受數據節點作為輸入,執行轉換,然後輸出數據節點。

Task Orchestration with Taipy

例如,您可能想要濾除某些數據或計算新的指標。以下是創建一個任務來計算某列總和的示例:

clean_data_task_cfg = Config.configure_task(id="clean_data",
                                            function=clean_data,
                                            input=initial_dataset_cfg,
                                            output=cleaned_dataset_cfg,
                                            skippable=True)

一旦您定義了任務,就可以將其安排到一個管道中,以確保步驟按正確的順序執行。這使您能夠輕鬆構建轉換數據、構建模型、生成報告等工作流程。


3. 假設分析:探索不同的情境

一旦您的數據和工作流程設置完成,您就可以開始探索不同的情境。這就是 假設(What-if) 分析發揮作用的地方。

在 Taipy 中,一個情境代表您嘗試解決的特定問題的實例,讓您能夠測試不同的參數並查看它們如何影響您的結果。通過調整輸入數據或假設,您可以模擬各種情境,而無需從頭開始。

Scenarios what if analysis

 

以下是如何在 Taipy 中定義一個情境:

scenario_cfg = Config.configure_scenario(id="scenario", task_configs=[clean_data_task_cfg, predict_task_cfg,evaluate_task_cfg], frequency=Frequency.MONTHLY)
tp.Core().run()
my_first_scenario = create_and_run_scenario(dt.datetime(2021, 1, 25))
predictions = my_first_scenario.predictions.read()
print("Predictions\n", predictions)

這使您能夠輕鬆進行敏感度分析或優化結果,所有這些都在同一個框架內。想測試您銷售模型的不同折扣率?只需創建新的情境,調整參數,然後重新運行它們。


Taipy 與其他管道管理工具的比較

您可能會想知道,Taipy 與其他流行的管道協調工具(如 Apache Airflow、Luigi 或 Prefect)相比如何?雖然這些工具非常適合在分佈式環境中管理任務調度,但 Taipy 通過專注於 Python 的簡易性而脫穎而出,特別是在情境管理和假設分析方面。

  • Airflow/Luigi/Prefect:通常專注於協調 ETL 流程、調度和監控工作流程。

  • Taipy:它不僅提供工作流程協調,還通過其獨特的情境抽象簡化假設分析,使您能夠無縫地模擬各種結果。

Taipy data workflows

對於希望在 Python 中以最少設置處理複雜數據工作流程的開發者來說,Taipy 提供了一種更直接、以代碼為主的方法。


結論:用 Taipy 實現分而治之

無論您的數據問題的大小或複雜性如何,分而治之的策略總是能取得成功!使用 Taipy,您可以處理從數據整合到任務協調以及假設分析的所有事項,這一切都在同一個位置中完成。您還可以進行 數據可視化

準備好試試 Taipy 了嗎?查看 GitHub 倉庫,看看它今天如何幫助簡化您的數據工作流程!

 

{% cta https://github.com/Avaiga/taipy %} Star Taipy ⭐️ {% endcta %}

 

別忘了留下星⭐和分享您的反饋或您所處理的情境在下面的評論中!

[Tweet this article]


原文出處:https://dev.to/taipy/what-if-i-told-you-complex-data-integration-makes-good-task-orchestration-3219


共有 0 則留言