如何将Airflow本地连接到SQLite?

时间:2018-12-18 10:50:47

标签: mysql sqlite ubuntu airflow

我正在尝试首次尝试Airflow,并尝试将其连接到本地SQLite数据库。但是我似乎无法真正地去做。

我已经阅读了Airflow's document,将我的executor设置为LocalExecutor,并将我的sql_alchemy_conn设置为sqlite:////home/myName/Programs/sqlite3/DatabaseName.db,但似乎没有引发

Traceback (most recent call last):
  File "/usr/local/bin/airflow", line 21, in <module>
    from airflow import configuration
  File "/usr/local/lib/python2.7/dist-packages/airflow/__init__.py", line 35, in <module>
    from airflow import configuration as conf
  File "/usr/local/lib/python2.7/dist-packages/airflow/configuration.py", line 520, in <module>
    conf.read(AIRFLOW_CONFIG)
  File "/usr/local/lib/python2.7/dist-packages/airflow/configuration.py", line 283, in read
    self._validate()
  File "/usr/local/lib/python2.7/dist-packages/airflow/configuration.py", line 169, in _validate
    self.get('core', 'executor')))
airflow.exceptions.AirflowConfigException: error: cannot use sqlite with the LocalExecutor
我尝试运行airflow initdb时出现

错误。我尝试四处搜索,并尝试了vipul sharma的解决方案found here,并将我的sql_alchemy_conn的值设置为mysql://:@localhost:3306/,但是由于它抛出了一个错误,所以它仍然不起作用

sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'myName'@'localhost' (using password: NO)")

错误。我知道答案应该很简单,但是我真的不知道该怎么做,所以希望您能指导我完成该怎么做/阅读。

1 个答案:

答案 0 :(得分:1)

使用SequentialExecutor

“该执行程序一次只能运行一个任务实例,可以用于调试。它也是唯一可以与sqlite一起使用的执行程序,因为sqlite不支持多个连接。” airflow documentation

您只是不需要更改为LocalExecutor,将其更改回SequentialExecutor,将sql_alchemy_conn更改为指向sqlite:////home/myName/Programs/sqlite3/DatabaseName.db,然后停止气流服务(Web服务器,调度程序)。

执行airflow initdb,然后再次启动服务。

希望如此。