본문 바로가기

728x90

superset mysql

[Superset] 'NoneType' object has no attribute 'to_dict' Table 추가 후 컬럼 정보가 안나올 때 조치방법 sqlite 를 사용하여 superset 기본 db 를 제어하면 발생하지 않는다.하지만, mysql 을 연결해서 사용하면 table 추가 시 columns 정보가 출력되지 않고, 딱히 에러 메세지도 출력되지 않아 확인이 힘들다. 확인해본 결과, table_columns 테이블에 column 정보가 입력되지 않아, chart를 그릴 때 위와 같은 에러 메세지가 출력된다. table_columns 테이블의 type 컬럼 사이즈를 늘려주면 해결된다. mariaDB에서 type 이름이 긴 경우 입력이 안되어 발생하는 문제이다. 더보기
[Superset] sqlalchemy, sqlalchemy-utils upgrade Superset 설치 하면 0.22.1 버전으로 설치되며, 패키지중 sqlalchemy 1.1.9, sqlalchemy-utils 0.32.16 version으로 설치된다. mysql 에 연결을 하려고 하면 예약어(reserved words) 때문에 에러가 발생한다. issue에 찾아보면 sqlalchemy 와 sqlalchemy-utils를 업그레이드 하라고 한다. package upgrade 방법은 pip install sqlalchemy===1.2.2pip install sqlalchemy-utils=0.32.21 하면 된다. 1.2.2 에서 sql_lab run query 시 rows 컬럼이 예약어로 안되어 있다...1.2.3 을 설치하면 정상적으로 수행된다. 더보기
[Superset] mysql 에 셋팅하기 config.py 파일 SQLALCHEMY_DATABASE_URI 변경SQLALCHEMY_DATABASE_URI = 'mysql://username:password@localhost/superset' superset db upgrade 시 에러 발생(query table 생성 안됨.../ 예약어로 생성이 안됨...)migrations/versions/ad82a75afd82_add_query_model.py 파일 내용 변경sa.Column('status', sa.String(length=16), nullable=True, quote="`"), sa.Column('schema', sa.String(length=256), nullable=True, quote="`"), sa.Column('sql', sa.Te.. 더보기

728x90