【问题标题】:What tool can I use to manage my Python and SQL Workflow?我可以使用什么工具来管理我的 Python 和 SQL 工作流?
【发布时间】:2022-06-16 01:28:05
【问题描述】:

对于上下文:我是这个工作领域的技术方面的新手。

这是我的流程:

我有一个需要从 Filezilla 提取的文件,然后我需要使用 python 脚本处理该文件并将输出表发送到 Oracle 数据库。然后,我运行一个大型 SQL 脚本,从大量表 (Oracle SQL Developer) 中提取数据并生成最终表。然后我运行一个连接到该表的 python 脚本算法并生成一个要发送回 filezilla 的文件。我可以在这里手动完成所有操作。但我希望自动化我的流程。

这是我的工作流程: Filezilla -> Python -> OracleSQL Developer -> Pthon -> Filezilla

我一直在寻找可以在一个平台上管理工作流的工具?我听说过气流,但不确定它是否能够做到这一点?不幸的是,我无法在数据块之类的平台上执行此操作,因为它需要每天在 SQL 部分传输大量数据。

【问题讨论】:

  • 为什么不用mysql连接器或者类似的工具直接连接呢?
  • 我确实使用 CxOracle 将最终表从 python 连接到 sql 和 sql 到 python。但是对于 SQL 脚本部分,这是一个涉及多个表的大型 sql 数据建模脚本,这就是为什么我不得不移出并在外面运行 sql 脚本的原因。我希望能够管理整个工作流程。

标签: python sql workflow platform


【解决方案1】:

Apache Airflow 是一个完全如您所描述的编排(构建、维护和管理)平台 - 工作流。在您的情况下,Airflow 提供了许多操作符(如任务模板)来构建您自己的工作流程 - PythonOperator、SFTPOperator、OracleOperator 等。在 Airflow UI 中,您可以访问有关您的 workflows 的大量信息

IMO,Airflow 的一大缺点是它的学习曲线陡峭。而且,根据您的计划,它可能会变成使用大锤敲碎坚果的情况。这两个缺点都来自气流的灵活性。如果您想测试,请参阅文档here

如果您计划编排其他几个工作流程并且管理它们很重要,我建议您继续使用 Airflow。否则,请使用您描述的步骤构建 Python 脚本并放入 CRON 作业。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    相关资源
    最近更新 更多