【问题标题】:Airflow connection to MySQL与 MySQL 的气流连接
【发布时间】:2018-07-22 18:44:23
【问题描述】:

我想对当前位于 aws rds 上的 mysql 数据库进行一些临时查询。我在 Airflow UI 上创建了一个包含所有必要凭据的连接,但是数据库没有显示在 Data Profiling>Ad hoc Query 部分下。

感谢任何帮助。谢谢!

【问题讨论】:

  • 所以;你最近又试了一次吗?因为您描述的操作应该可以正常工作。

标签: mysql airflow


【解决方案1】:

希望这个问题现在必须解决。 我遵循这些步骤,能够在数据分析下运行即席查询。

  1. 在“管理”选项卡下创建了一个新连接。

    定义的 Conn ID {任何合适的名称}

    连接类型 -- MySQL

    主机名 -- AWS RDS 上 MySQL 的集群端点

    schema -- 创建气流表的 MySQL 模式。

    登录名/密码——在创建数据库时定义

    端口--3306 保存以上设置。

现在移动到数据分析选项卡,新连接将可用。

【讨论】:

    【解决方案2】:

    对于原始问题,OP 可能只需要安装一个 python-mysql 适配器。

    我刚刚遇到了类似的问题。

    对我来说,这个问题是由于我的系统上缺少安装的依赖项。

    当我尝试连接到 Postgres 数据库时,我安装了 python-postgres 适配器 psycopg2

    pip install psycopg2

    我重新启动了 Airflow Web 服务器,Postgres 连接开始填充在 Ad Hoc Query 下拉列表中。

    这是我发现此问题的方法。

    我在尝试连接到 RDS Postgres 服务器时遇到了同样的问题,该问题出现在 AdHoc 查询下拉列表中。复制现有的sqlite_default connection 后,下拉列表似乎只包含 Sqlite 连接。这是一个近乎普通的默认气流配置。似乎连接未列出,因为db.get_hook() returned None

    深入研究代码,我发现 from airflow.hooks.postgres_hook import PostgresHook 失败并出现如下错误:

    *** ImportError: No module named 'psycopg2'

    使用交互式 python 调试器(例如 Pdb,通过import pdb; pdb.set_trace()),OP 可能会发现类似的错误消息,即:

    (Pdb) from airflow.hooks.mysql_hook import MySqlHook *** ImportError: No module named 'MySQLdb'

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 2022-01-22
      • 1970-01-01
      • 2020-01-03
      • 2019-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多