ホームページ >バックエンド開発 >Python チュートリアル >複雑なデータ統合が優れたタスク オーケストレーションを実現すると言ったらどうなるでしょうか?

複雑なデータ統合が優れたタスク オーケストレーションを実現すると言ったらどうなるでしょうか?

DDD
DDDオリジナル
2024-09-13 18:16:01761ブラウズ

データの問題がどれほど複雑であっても、いつでも分割して征服することができます。 ???

この記事では、完全にオープンソースの Python ライブラリ Taipy を使用して、複雑なデータの課題、データ処理、データ管理を解決する方法を詳しく説明します。データのクリーニング、タスクの調整、さまざまな結果の探索など、Taipy の直感的なデザインにより、すべてを処理できます。


What-if I told you complex Data Integration makes good Task Orchestration?

スタータイピー⭐️

Taipyのシナリオ管理の基礎

Taipy がデータ ワークフローの合理化にどのように役立つかを示す 3 つのステップを見てみましょう:


1. データ統合: 必要なデータを取得する

すべての AI、ML、およびデータ駆動型プロジェクトは、当然のことながらデータから始まります。
そして、それが単一のクリーンなデータセットほど単純であることはほとんどありません。ほとんどの場合、データベース、API、フラット ファイル、またはその他の外部ソースからデータを取得しますが、場合によってはすべて同じプロジェクト内でデータを取得します。ここで、Taipy のデータ統合が登場します。これらのさまざまなソースからデータを収集して統合します。

Taipy では、このプロセスはキーの抽象化、データ ノード

によって簡素化されています。

データ ノードはデータを表しますが、それを直接保存しません。代わりに、CSV ファイル、データベース テーブル、API 応答など、実際のデータの読み取りと書き込みに必要なすべてのメタデータが保持されます。

What-if I told you complex Data Integration makes good Task Orchestration?

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 のタスクは関数のようなもので、データ ノードを入力として受け取り、変換を実行して、データ ノードを出力します。

What-if I told you complex Data Integration makes good Task Orchestration?

たとえば、一部のデータをフィルタリングしたり、新しい指標を計算したりすることができます。以下は、列の合計を計算するタスクを作成する例です:

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 分析: さまざまなシナリオを検討する

データとワークフローが設定されたら、さまざまなシナリオの探索を開始できます。ここで、What-if 分析が登場します。

Taipy のシナリオは、解決しようとしている問題の特定のインスタンスを表し、さまざまなパラメーターをテストして、それらが結果にどのような影響を与えるかを確認できます。入力データや仮定を調整することで、最初からやり直すことなく、さまざまなシナリオをモデル化できます。

What-if I told you complex Data Integration makes good Task Orchestration?

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 は、特にシナリオ管理と what-if 分析に関して、Python のシンプルさに重点を置いている点で際立っています。

  • Airflow/Luigi/Prefect: 通常は、ETL プロセスの調整、スケジュール設定、ワークフローの監視に重点を置きます。

  • Taipy: ワークフロー オーケストレーションを提供するだけでなく、独自のシナリオ抽象化により what-if 分析を簡素化し、さまざまな結果をシームレスにモデル化できます。

What-if I told you complex Data Integration makes good Task Orchestration?

最小限のセットアップで Python で複雑なデータ ワークフローを処理したい開発者向けに、Taipy はより単純なコードファーストのアプローチを提供します。


結論: Taipy で分割統治する

データの問題の規模や複雑さに関係なく、分割統治戦略は常に勝利を収めます。 Taipy を使用すると、データ統合からタスク オーケストレーション、what-if 分析まですべてを 1 か所で処理できます。また、データの視覚化を使用して最終仕上げを行うこともできます。

Taipy を試してみませんか? GitHub リポジトリをチェックして、データ ワークフローを今すぐ合理化できる方法を確認してください!

スタータイピー⭐️

スターを付けることを忘れないでください⭐し、以下のコメント欄でフィードバックや取り組んだシナリオを共有してください!

以上が複雑なデータ統合が優れたタスク オーケストレーションを実現すると言ったらどうなるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。