dmc*_*mcd 5 python mysql airflow
尝试为 MySQL 设置 Airflow,当 Airflow 尝试在“airflow initdb”期间设置主键时出现错误
File "/usr/lib/pymodules/python2.7/MySQLdb/cursors.py", line 166, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/pymodules/python2.7/MySQLdb/connections.py", line 35, in defaulterrorhandler
raise errorclass, errorvalue
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1071, 'Specified key was too long; max key length is 1000 bytes') [SQL: u'\nCREATE TABLE sla_miss (\n\ttask_id VARCHAR(250) NOT NULL, \n\tdag_id VARCHAR(250) NOT NULL, \n\texecution_date DATETIME NOT NULL, \n\temail_sent BOOL, \n\ttimestamp DATETIME, \n\tdescription TEXT, \n\tPRIMARY KEY (task_id, dag_id, execution_date), \n\tCHECK (email_sent IN (0, 1))\n)\n\n']
Run Code Online (Sandbox Code Playgroud)
对此搞乱了一段时间,但无法完全解决它。
我知道密钥对于数据库来说太长,但我希望有另一种方法可以尝试创建数据库以使其正常工作?
从这个例子http://site.clairvoyantsoft.com/installing-and-configuring-apache-airflow/我尝试了这个:
CREATE DATABASE airflow CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)
但这仍然导致了错误。当我将字符集更改为 latin1 时,它能够创建数据库,但由于解码错误,实际的气流进程都无法运行。
有任何想法吗?
我想我能够让它发挥作用。我将原来的创建数据库更改为 CREATE DATABASE airflow CHARACTER SET ascii 并将引擎更新为 /airflow?charset=ascii。看起来现在正在工作(这太棒了)
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |