【问题标题】:How to create connection for DB2 database in Apache Airflow(2.2.5)如何在 Apache Airflow(2.2.5) 中为 DB2 数据库创建连接
【发布时间】:2022-07-24 12:50:57
【问题描述】:

我需要轮询 DB2 数据库表,直到创建记录,一旦成功,我需要触发 dag 中的任务。 为此,我必须执行以下操作:

  1. 在气流中创建 DB2 连接
  2. 使用 SQL 传感器使用上述步骤中创建的连接轮询 db 表。

但我没有看到 DB2 的连接类型选项(附上屏幕截图)。我必须安装一些东西吗?请帮忙。

PS:我是 Airflow 的新手。

【问题讨论】:

  • 如果解决了您的问题,请接受回答

标签: db2 airflow sensors


【解决方案1】:

没有特定于 DB2 的连接。

对于一般连接,您可以只使用通用连接:

对于没有通用连接的旧 Airflow 版本,您可以使用任何其他连接类型(例如 HTTP/MySql)。这并不重要。 Airflow 通过连接 ID 查找连接。从这个角度来看,类型几乎没有意义。

【讨论】:

    【解决方案2】:

    是的,airflow 连接似乎不是 db2 的特定连接,因此您必须在连接类型中选择通用。 我还建议安装连接的安全机制。 下一个包:pip install airflow-provider-db2

    【讨论】:

      【解决方案3】:

      我已尝试在 Airflow 2.2.5 上成功连接到 DB2。

      Airflow 没有特定的 DB2 提供程序。您需要使用 JDBC 进行连接。 因此,您需要安装一些 Airflow 库并下载 DB2 JDBC 驱动程序来完成此任务。 下面列出了所有需要安装的库和提供程序:

      1. Apache-airflow-provider-jdbc/Version:2.1.3
      2. JayDeBeApi/版本:最新
      3. JPype1/版本:最新

      您还需要下载 DB2 JDBC 驱动程序。该驱动程序包括一些软件包和许可证文件,例如:

      1. db2jcc4.jar
      2. sqlj4.zip
      3. jdbc4_LI_zh

      因为它会使用 JDBC 连接,所以 openJDK 也需要安装在你的 docker 上。 需要设置环境变量JAVA_HOME、PATH和CLASSPATH。

      以上所有操作都可以在您的 docker 文件上完成。

      当你完成构建你的镜像后,你可以启动你的气流来设置连接。

      [这样的连接设置][1]

      • 连接 URL:可以替换 HOST、PORT 和 Database
      • 驱动路径:您可以输入您的类文件(db2jcc4.jar)所在的位置。

      希望这些提示对您有所帮助。我也是 Airflow 的新手。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-06-10
        • 2016-08-25
        • 1970-01-01
        • 1970-01-01
        • 2015-07-01
        • 1970-01-01
        • 2012-03-22
        • 2012-09-14
        相关资源
        最近更新 更多