如果我告诉您复杂的数据集成可以实现良好的任务编排,您会怎么想?
无论你的数据问题有多复杂,你都可以分而治之。🦾🦾🦾
在本文中,我们将详细讲解如何使用完全开源的 Python 库Taipy来解决复杂的数据挑战、数据处理和数据管理。无论您是清理数据、协调任务还是探索不同的结果,Taipy 的直观设计都能让您轻松应对。
Taipy 的情景管理基础
让我们通过三个步骤来展示Taipy如何帮助简化您的数据工作流程:
1. 数据集成:获取所需数据
显然,每个 AI、ML 和数据驱动的项目都始于数据!
而且,数据很少像一个单一、干净的数据集那么简单。大多数情况下,您会从数据库、API、平面文件或其他外部来源提取数据,有时甚至会在同一项目中提取所有数据。这时,Taipy 的数据集成功能就派上用场了——它可以收集并统一来自这些不同来源的数据。
在 Taipy 中,这个过程通过一个关键抽象得到简化:数据节点。
数据节点代表您的数据,但不直接存储数据。相反,它保存读取和写入实际数据所需的所有元数据,无论是 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 负责数据管理,让您专注于转换和处理数据。
2. 任务编排:您要用这些数据做什么?
现在你的数据已经到位,接下来该如何处理呢?在任何数据工作流中,下一步都是定义处理和转换数据的任务。这就是我们所说的任务编排
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.假设分析:探索不同的情景
设置好数据和工作流程后,您就可以开始探索不同的场景。这时,假设分析就派上用场了。
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 与其他管道管理工具的比较
你可能想知道,Taipy 与其他流行的管道编排工具(例如 Apache Airflow、Luigi 或 Prefect)相比如何?虽然这些工具非常适合管理分布式环境中的任务调度,但 Taipy 因专注于 Python 的简洁性而脱颖而出,尤其是在场景管理和假设分析方面。
-
Airflow/Luigi/Prefect:通常专注于协调 ETL 流程、调度和监控工作流。
-
Taipy:它不仅提供工作流程编排,还通过其独特的场景抽象简化了假设分析,使您能够无缝地模拟各种结果。

对于希望以最少的设置在 Python 中处理复杂数据工作流的开发人员,Taipy提供了一种更直接的代码优先方法。
结论:使用 Taipy 分而治之
无论数据问题的规模或复杂程度如何,分而治之策略总能奏效!使用Taipy,您可以在一个平台处理从数据集成到任务编排和假设分析的所有事务。最后,您还可以实现数据可视化。
准备好尝试Taipy 了吗?立即查看GitHub 仓库,了解它如何简化您的数据工作流程!
不要忘记在下面的评论中留下星星⭐并分享您的反馈或您曾经处理过的场景!
文章来源:https://dev.to/taipy/what-if-i-told-you-complex-data-integration-makes-good-task-orchestration-3219