Apache Airflow in Python | Airflow Python Operator2024 年 8 月 29 日 | 阅读 6 分钟 在本教程中,我们将学习Apache Airflow及其算子。我们将讨论所有Airflow的算子,但我们的主要目标是探索Python算子以及如何使用它。在深入研究这个主题之前,让我们先了解Airflow的基本概念以及它为什么如此受欢迎。 什么是数据管道?数据管道包含多个必须执行的任务或操作才能获得所需结果。例如 - 我们想创建一个天气API,用于预测未来一周的天气。我们需要执行以下任务来实现这个实时天气仪表板。
正如我们所见,这些是管道中的一系列任务。此外,这些任务需要按特定顺序执行。 什么是Apache Airflow?Apache Airflow是一个在数据工程领域广受欢迎的工具。它是一个工作流引擎,可以轻松地调度和运行复杂的数据管道。它确保数据管道中的每个任务都按顺序执行,并且每个任务都获得所需的资源。它提供了出色的用户界面,并监控和修复问题。 Airflow使用DAG(有向无环图),它是用户希望运行的所有任务的集合。这些任务的组织方式可以维护其关系和依赖关系。DAG的结构(任务及其依赖关系)以Python脚本代码的形式指定。 数据管道的DAG是使任务关系更加清晰的最佳方式。节点代表任务,有向边代表任务之间的依赖关系。 例如,如果任务X通过边连接并指向任务Y,则任务A必须在任务B开始之前完成。这种方向使其成为有向图。 安装Airflow
在Airflow目录中创建dags文件夹很重要,我们将在这里定义我们的DAG。现在打开Web浏览器并访问 https://:8080/admin/ ,它看起来会像下面一样。 Apache Airflow中的Python OperatorApache Airflow中有多种算子,例如BashOperator,PythonOperator,EmailOperator,MySqlOperator等。算子指定一个工作流任务,并且算子为不同的任务提供了许多算子。 在本节中,我们将讨论Python算子。 导入库定义DAG参数我们需要为每个DAG传递一个参数字典。以下是我们可以传递的参数的描述。
让我们理解以下示例 - 示例 - 定义Python函数现在,我们将定义一个Python函数,该函数将使用参数打印给定的字符串,Python算子稍后将使用此函数。 定义DAG下一步是创建DAG对象并传递dag_id。dag_id是DAG的名称,必须是唯一的。然后传递我们之前定义的参数,并添加描述和schedule_interval。它将在指定的时间间隔后运行DAG。让我们看下面的例子。 定义任务在工作流中,我们只定义了一个任务 -
我们将task_id传递给Python Operator对象。我们将在DAG的Graph视图节点上看到名称。在python_callable参数中,传递我们想要执行的函数名称,并将它的参数值"op_kwargs"作为字典传递,最后,将我们想要链接此任务的DAG对象传递过去。 运行DAG现在,刷新Airflow仪表板;它将在列表中显示DAG。工作流中的每个步骤都将是一个单独的框;单击DAG并等待其边框变成深绿色,表示它已成功完成。 单击“print”节点以获取有关此步骤的更多详细信息,然后单击“Logs”,您将看到如下输出。 Apache Airflow中的变量是什么?正如我们所讨论的,Airflow可用于创建和管理复杂的工作流。我们可以同时运行多个工作流。工作流可以使用数据库或相同的文件路径。现在,我们更改用户保存文件或更改数据库配置的目录路径。在这种情况下,我们不想去单独更新每个DAG。 使用Airflow,我们可以创建变量,可以在其中存储和检索运行时在多个DAG中的数据。如果我们想进行更改,我们可以编辑变量,我们的工作流就可以正常运行了。 如何创建变量?要创建变量,我们打开Airflow并单击顶部菜单中的“Admin”,然后单击“Variables”。 单击“Create”按钮创建一个新变量,将打开一个窗口。现在添加值并提交。 现在,我们将创建一个DAG,在该DAG中我们将计算此文件中文本数据的字数。我们可以导入新创建的变量。让我们来理解下面的例子。 示例 - 现在我们将定义一个将使用该变量、读取它并计算单词数的函数。 现在,步骤与上面相同,我们需要定义DAG和任务,我们的工作流就可以运行了。 当我们运行DAG时,它将显示单词数。我们还可以随时编辑DAG,我们所有的DAG都会得到更新。 结论在本教程中,我们讨论了Apache Airflow中的Python Operator以及普通变量和分支。我们已经理解了Apache Airflow的基本概念及其安装。 下一个主题Python中的Currying |
银行账号是金融机构用于识别特定账户的唯一标识符。验证银行账号对于确保金融交易的准确性和效率至关重要。本文将讨论如何使用……验证银行账号。
阅读 3 分钟
有时,我们遇到一个问题,需要使用 Python 编程语言删除每个字符串的第一个字符。这个字符可能是偶然创建的,我们需要为单个字符串或整个列表执行此操作。这种...
阅读 4 分钟
什么是特殊变量?在 Python 中,有些变量使用双下划线定义,它们被称为 Dunder 或魔术方法。它们用于代码中的特殊目的,因此被称为特殊变量。例如:__init__ ,...
阅读 3 分钟
在本教程中,我们将探讨如何使用 PyQt5 开发用户表单。用户表单本质上是一个对话框,它在输入用户数据时为用户提供了额外的控制和易用性。有时有必要创建用户表单,而...
5 分钟阅读
在 Python 中,方法重写定义为子类中具有与超类中方法相同名称的方法。术语"重写"指的是子类中的一个方法,当两个方法共享相同的...时,它会替换超类中的一个方法。
7 分钟阅读
数据科学工作流程中一个关键阶段是使用适当的指标来衡量我们模型的准确性。在本教程中,我们将学习两种计算源样本预测类别准确性的方法:手动和使用 Python 的 scikit-learn 库。以下是我们将介绍的主题摘要...
5 分钟阅读
在本教程中,我们将学习 Python pandas 方法 df.info() 方法。Pandas 是一个非常流行的库,可以轻松有效地分析数据。它是 Python 中一个重要且广泛使用的方法。此方法打印数据帧的信息或摘要....
5 分钟阅读
借助前进和后退按钮,图像查看器应用程序的用户可以在图像之间导航并一次查看一张图像。让我们按照几个简单的步骤在 Python 中构建一个图像查看器应用程序。有关图像查看器应用程序的信息:该应用程序……
阅读 6 分钟
一个变位词是指通过重新排列另一个单词或短语的字母而形成的单词或短语。例如,单词“listen”是“silent”的变位词,“fired”是“fried”的变位词,反之亦然。给定两个字符串,问题是找出...
阅读9分钟
Python 是一种流行的编程语言。Guido Van Rossum 于 1991 年在 CWI(Centrum Wiskunde& Informatica)荷兰创建并发布了它。Python 是一种高级、通用、动态的编程语言。Python 平台独立、简单易学。它也是免费和开源的....
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India