2017-02-15 2 views
3

Попытки установить Airflow для MySQL, и я получаю сообщение об ошибке при Airflow пытается установить первичный ключ во время „воздушного потока initdb“Apache Airflow - mysql 'Указанный ключ был слишком длинным; Длина ключа не более 1000 байт

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'] 

возился с этим на некоторое время и не мог точно заставить его работать.

Я знаю, что ключ слишком длинный для базы данных, но я надеюсь, что есть другой способ, которым я могу попытаться создать базу данных, чтобы заставить это работать?

Из этого примера http://site.clairvoyantsoft.com/installing-and-configuring-apache-airflow/ я попытался это:

CREATE DATABASE airflow CHARACTER SET utf8 COLLATE utf8_unicode_ci; 

Но что до сих пор причиной ошибки. Когда я изменяю CHARACTER SET на latin1, он может создавать базу данных, но тогда ни один из реальных процессов воздушного потока не может работать из-за ошибок декодирования.

Любые идеи?

ответ

1

Думаю, я смог заставить это работать. Я изменил исходную базу данных создания, чтобы создать CREATE DATABASE AIR CHARACTER SET ascii и обновил мой движок, чтобы иметь/воздушный поток? Charset = ascii. Кажется, что он работает сейчас (что удивительно)

Смежные вопросы

 Смежные вопросы