Semaltレビュー–スクレイピングスクリプトの実行

Airflowは、任意の数のユーザー間で並行して実行されるマルチシステムワークフローを構成するために使用されるPythonのスケジューラライブラリです。単一のAirflowパイプラインは、SQL、bash、およびPython操作で構成されます。このツールは、タスク間の依存関係、並行して実行するタスク、および他の機能が完了した後に実行するタスクを決定するのに役立つ重要な要素を指定することで機能します。

なぜ気流?

AirflowツールはPythonで記述されているため、すでに設定されているカスタム機能にオペレーターを追加できるという利点があります。このツールを使用すると、Webサイトから適切に構造化されたデータシートへの変換を通じてデータ取得できます。 Airflowは、有向非巡回グラフ(DAG)を使用して特定のワークフローを表します。この場合、ワークフローは、方向依存性で構成されるタスクのコレクションを指します。

Apache Airflowの仕組み

Airflowは倉庫管理システムであり、コードがスケジュールに従って機能を実行し、すべてのワーカープロセスにタスクの実行を分散するときに、タスクをその最終的な依存関係として定義します。このツールは、実行中のタスクと過去のタスクの両方の状態を表示するユーザーインターフェイスを提供します。

Airflowは、タスク実行プロセスに関する診断情報をユーザーに表示し、エンドユーザーがタスクの実行を手動で管理できるようにします。有向非循環グラフは、実行コンテキストを設定し、タスクを編成するためにのみ使用されることに注意してください。 Airflowでは、タスクはスクレイピングスクリプトを実行する重要な要素です。スクレイピングでは、タスクは次の2つのフレーバーで構成されます。

  • オペレーター

場合によっては、タスクはオペレーターとして機能し、エンドユーザーが指定した操作を実行します。演算子は、Pythonプログラミング言語で実行できるスクレイピングスクリプトやその他の関数を実行するように設計されています。

  • センサー

タスクは、センサーとして機能するようにも開発されています。このような場合、ワークフローがスムーズに実行される基準が満たされるまで、相互に依存するタスクの実行を一時停止できます。

Airflowはさまざまなフィールドで使用され、スクレイピングスクリプトを実行します。以下は、Airflowの使用方法に関するガイドです。

  • ブラウザーを開き、ユーザーインターフェイスを確認します。
  • 失敗したワークフローを確認してクリックし、失敗したタスクを確認します
  • 「ログの表示」をクリックして、失敗の原因を確認してください。多くの場合、パスワード認証の失敗はワークフローの失敗の原因になります
  • 管理セクションに移動し、「接続」をクリックします。 Postgres接続を編集して新しいパスワードを取得し、[保存]をクリックします。
  • ブラウザに再度アクセスして、失敗したタスクをクリックします。タスクをクリックして[クリア]をタップすると、タスクが次回正常に実行されます。

考慮すべき他のPythonスケジューラ

cron

CronはUnixベースのOSで、一定の間隔、日付、時間で定期的にスクレイピングスクリプトを実行します。このライブラリは、主にソフトウェア環境の保守とセットアップに使用されます。

ルイージ

Luigiは、視覚化と依存関係の解決を処理できるPythonモジュールです。 Luigiは、ジョブコレクションの複雑なパイプラインを作成するために使用されます。

Airflowは、依存関係管理プロジェクトの処理に使用されるPythonのスケジューラライブラリです。 Airflowでは、実行中のタスクは互いに依存しています。一貫した結果を得るには、1〜2時間ごとに自動的に実行されるようにAirflowスクリプトを設定できます。