在這篇文章中,我們將解析如何解決複雜的數據挑戰、數據處理和數據管理,使用一個完全開源的 Python 庫:Taipy。無論您是在清理數據、協調任務,還是探索不同的結果,Taipy 的直觀設計都使您能夠應對所有挑戰。
{% cta https://github.com/Avaiga/taipy style="text-align:center %} Star Taipy ⭐️ {% endcta %}
讓我們通過三個步驟來展示 Taipy 如何幫助簡化您的數據工作流程:
每個 AI、ML 和數據驅動的項目都明顯從數據開始!
而且,這通常不僅僅是一個單一、乾淨的數據集。在大多數情況下,您將需要從資料庫、API、平面文件或其他外部來源提取數據,有時甚至會在同一個項目中同時使用所有這些來源。這就是 Taipy 的數據整合發揮作用的地方——從這些不同來源收集和統一數據。
在 Taipy 中,這個過程通過一個關鍵的抽象得以簡化:數據節點(Data Node)
數據節點代表您的數據,但不會直接存儲它。相反,它保存了讀取和寫入實際數據所需的所有元數據,無論是 CSV 文件、數據庫表還是 API 相應的資料。
以下是一個定義 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 便可以處理數據管理,讓您專注於轉換和處理數據。
現在您的數據已經到位,接下來該怎麼辦?在任何數據工作流程中,下一步涉及定義處理和轉換數據的任務。這就是我們所稱的 任務協調(Task Orchestration)
在 Taipy 中,任務就像一個函數,接受數據節點作為輸入,執行轉換,然後輸出數據節點。
例如,您可能想要濾除某些數據或計算新的指標。以下是創建一個任務來計算某列總和的示例:
clean_data_task_cfg = Config.configure_task(id="clean_data",
function=clean_data,
input=initial_dataset_cfg,
output=cleaned_dataset_cfg,
skippable=True)
一旦您定義了任務,就可以將其安排到一個管道中,以確保步驟按正確的順序執行。這使您能夠輕鬆構建轉換數據、構建模型、生成報告等工作流程。
一旦您的數據和工作流程設置完成,您就可以開始探索不同的情境。這就是 假設(What-if) 分析發揮作用的地方。
在 Taipy 中,一個情境代表您嘗試解決的特定問題的實例,讓您能夠測試不同的參數並查看它們如何影響您的結果。通過調整輸入數據或假設,您可以模擬各種情境,而無需從頭開始。
以下是如何在 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 與其他流行的管道協調工具(如 Apache Airflow、Luigi 或 Prefect)相比如何?雖然這些工具非常適合在分佈式環境中管理任務調度,但 Taipy 通過專注於 Python 的簡易性而脫穎而出,特別是在情境管理和假設分析方面。
Airflow/Luigi/Prefect:通常專注於協調 ETL 流程、調度和監控工作流程。
Taipy:它不僅提供工作流程協調,還通過其獨特的情境抽象簡化假設分析,使您能夠無縫地模擬各種結果。
對於希望在 Python 中以最少設置處理複雜數據工作流程的開發者來說,Taipy 提供了一種更直接、以代碼為主的方法。
無論您的數據問題的大小或複雜性如何,分而治之的策略總是能取得成功!使用 Taipy,您可以處理從數據整合到任務協調以及假設分析的所有事項,這一切都在同一個位置中完成。您還可以進行 數據可視化。
準備好試試 Taipy 了嗎?查看 GitHub 倉庫,看看它今天如何幫助簡化您的數據工作流程!
{% cta https://github.com/Avaiga/taipy %} Star Taipy ⭐️ {% endcta %}
別忘了留下星⭐和分享您的反饋或您所處理的情境在下面的評論中!
[]
原文出處:https://dev.to/taipy/what-if-i-told-you-complex-data-integration-makes-good-task-orchestration-3219