Redashのバージョン2系から3系にupgradeした際、DataSourceのプルダウンから色々なものが消えてしまいました(!)
- BigQuery
- Athena
- Google Analytics
- Google Spreadsheet
業務でも使っているデータソースだったので、これが使えなくなるとなかなか厳しいです。
今回は、Redashのバージョンアップで消えてしまったこれらのデータソースを復活させる方法を書きます。
Redashのバージョン
この記事を書いている時点のバージョンは3.0.0+b3134
です。
2.0.1
からアップグレードした際に、今回の問題が発生しています。
原因
How to Upgrade Redash · Redash Help Center
バージョンアップ時のトラブルシューティングヘルプページに書いてありました。
どうやら、Redashのバージョンアッププロセスの中で、必要となるPythonバージョンも同時にアップグレードされるも、データソースに対するPythonの各パッケージのバージョンは置き去りになるようです。
そのため、古いバージョンのままだったりすると、データソースのロードを妨げてしまい画面のプルダウンから消えたように見えてしまうようです。*1
対応
- BigQuery
- Athena
- Google Analytics
- Google Spreadsheet
それぞれ、対応方法(使うパッケージ)が異なるようです。 一つずつやっていきましょう。
消えたBigQueryを表示させる方法
BigQueryを表示させるには、これらのパッケージを使用しなければなりません。
- google-api-python-client==1.5.1
- oauth2client==3.0.0
単純にupgradeするだけですね。こちらのコマンドを実行しましょう。
sudo pip install -U google-api-python-client==1.5.1 oauth2client==3.0.0
消えたAthenaを表示させる方法
AWS Athenaを表示させるには、PyAthenaというモジュールを新たにインストールする必要があります。
sudo pip install PyAthena>=1.0.0
消えたGoogle Analytics / Google Spreadsheetを表示させる方法
Google AnalyticsとGoogle Spreadsheetを表示させるには、PyOpenSSLというモジュールをupgradeする必要があります。
sudo pip install pyOpenSSL --upgrade
その他install or upgradeする必要があるモジュール
今回はBigQuery, AWS Athena, Google Analytics, Google Spreadsheetを復活させる最低限のモジュールだけをinstall / upgradeしましたが、これ以外にも必要とされるモジュールがあります。
下記のファイルを見ると必要なものがまとまっています。
/opt/redash/current/requirements_all_ds.txt
ubuntu@redash:~$ cat /opt/redash/current/requirements_all_ds.txt google-api-python-client==1.5.1 gspread==0.6.2 impyla==0.10.0 influxdb==2.7.1 MySQL-python==1.2.5 oauth2client==3.0.0 pyhive==0.3.0 pymongo==3.2.1 pyOpenSSL==16.2.0 vertica-python==0.5.1 td-client==0.8.0 pymssql==2.1.3 dql==0.5.24 dynamo3==0.4.7 botocore==1.5.72 sasl>=0.1.3 thrift>=0.8.0 thrift_sasl>=0.1.0 cassandra-driver==3.11.0 memsql==2.16.0 atsd_client==2.0.12 simple_salesforce==0.72.2 PyAthena>=1.0.0 # certifi is needed to support MongoDB and SSL: certifi # We don't install snowflake connector by default, as it's causing conflicts with # other packages. To properly support it we probably need to switch from pyOpenSSL # to the other package snowflake is using (that's compatible with it). # snowflake_connector_python==1.3.16
まとめ
Redashをバージョンアップさせることで、Python自体のupgradeはされますが、必要とされるパッケージのインストールとアップグレードまではされないようです。
そのため、データソースが表示されなくなってしまうようですが、パッケージを一つずつアップグレードしていけば問題なく表示されます。
バージョンアップする際はヘルプをみておきたいですね・・・!
*1:マジ焦った