Redash は、MySQL や PostgreSQL などのさまざまなデータソースをサポートするオープンソースのビジネスインテリジェンス (BI) ツールです。 Redash は、さまざまなデータベースのデータを探索および可視化するために使用できる直感的な Web インターフェイスを提供します。 このトピックでは、Redash を使用して AnalyticDB for MySQL に接続する方法について説明します。
前提条件
Redash がインストールされていること。 詳細については、「Redash 公式ドキュメント」をご参照ください。
Redash が実行されているサーバーの IP アドレスが、AnalyticDB for MySQL クラスターのホワイトリストに追加されていること。 詳細については、「ホワイトリスト」をご参照ください。
Spark JDBC エンドポイントに接続する場合は、Spark 対話型リソースグループを作成する必要もあります。
Redash を ADB MySQL エンドポイントに接続する
Redash を実行します。 ブラウザのアドレスバーに
http://<IP address>:<Port number>を入力して、Redash Web インターフェイスにアクセスします。IP address: Redash が実行されているサーバーの IP アドレス。Port number: デフォルトのポートは 5000 です。 このポートがすでに使用されている場合は、Redash の実行時にポート番号を変更できます。左側のナビゲーションウィンドウで、[設定] をクリックします。 [データソース] タブで、[+新規データソース] をクリックします。

[新しいデータソースの作成] ダイアログボックスで、次のパラメーターを設定し、[作成] をクリックします。

パラメータ
説明
タイプの選択
データソースのタイプ。 ドロップダウンリストから [MySQL] を選択します。
設定
名前
データソースの名前。 カスタム名を入力できます。
ホスト
AnalyticDB for MySQL クラスタのエンドポイント。
Redash が Elastic Compute Service (ECS) インスタンスにインストールされており、その ECS インスタンスが AnalyticDB for MySQL クラスターと同じ VPC にある場合は、内部エンドポイントを入力します。
Redash がローカルサーバーにインストールされている場合は、パブリックエンドポイントを入力します。
ポート
値は 3306 に固定されています。
ユーザー
AnalyticDB for MySQL クラスターのデータベースアカウント。
パスワード
AnalyticDB for MySQL クラスターのデータベースアカウントのパスワード。
データベース名
AnalyticDB for MySQL クラスター内のデータベース。
左側のナビゲーションウィンドウで、 を選択します。 ページのエディターで SQL 文を入力し、[実行] をクリックします。

SQL 文が実行されたら、[+ ビジュアライゼーションの追加] をクリックして、クエリ結果の可視化チャートを作成します。 詳細については、「Redash 公式ドキュメント」をご参照ください。

Redash を Spark JDBC エンドポイントに接続する
環境の準備
(オプション) adb_spark.png ファイルを宛先パスにコピーします。
ソースコードから Redash をデプロイする場合、宛先パスは
<ソースコードのルートディレクトリ>/client/app/assets/images/db-logos/です。Docker イメージから Redash をデプロイする場合、宛先パスは
</app フォルダ>/client/dist/images/db-logos/です。説明</app フォルダ>は、redash_server、redash_scheduler、redash_adhoc_worker、およびredash_scheduled_workerコンテナー内の /app フォルダを指します。
adb_spark_ds.py ファイルを宛先パスにコピーします。
ソースコードから Redash をデプロイする場合、宛先パスは
<ソースコードのルートディレクトリ>/redash/query_runner/です。Docker イメージから Redash をデプロイする場合、宛先パスは
</app フォルダ>/redash/query_runner/です。説明</app フォルダ>は、redash_server、redash_scheduler、redash_adhoc_worker、およびredash_scheduled_workerコンテナー内の /app フォルダを指します。
'redash.query_runner.adb_spark_ds'構成パラメーターを__init__.pyファイルに追加します。__init__.pyファイルのパス:ソースコードから Redash をデプロイする場合、パスは
<ソースコードのルートディレクトリ>/redash/settings/__init__.pyです。Docker イメージから Redash をデプロイする場合、パスは
</app フォルダ>/redash/settings/__init__.pyです。説明</app フォルダ>は、redash_server、redash_scheduler、redash_adhoc_worker、およびredash_scheduled_workerコンテナー内の /app フォルダを指します。パラメーターは次のフォーマットを使用します:
default_query_runners = [ 'redash.query_runner.athena', 'redash.query_runner.big_query', ........ 'redash.query_runner.uptycs', 'redash.query_runner.adb_spark_ds' ]
手順
Redash Web インターフェイスにアクセスします。 左側のナビゲーションウィンドウで、[設定] をクリックします。 [データソース] タブで、[+新規データソース] をクリックします。

[新しいデータソースの作成] ダイアログボックスで、次のパラメーターを設定し、[作成] をクリックします。

パラメーター
説明
タイプの選択
データソースのタイプ。 ドロップダウンリストから [ADB Spark] を選択します。
構成
名前
データソースの名前。 カスタム名を入力できます。
ホスト
Spark 対話型リソースグループのエンドポイント。 詳細については、「準備」をご参照ください。
ポート
Spark 対話型リソースグループのポート。 値は 10000 に固定されています。
データベース
AnalyticDB for MySQL クラスター内のデータベース。
ユーザー名
AnalyticDB for MySQL クラスターのデータベースアカウント。
パスワード
AnalyticDB for MySQL クラスターのデータベースアカウントのパスワード。
リソースグループ
Spark 対話型リソースグループの名前。
左側のナビゲーションウィンドウで、 を選択します。 ページのエディターで SQL 文を入力し、[実行] をクリックします。

SQL 文が実行されたら、[+ ビジュアライゼーションの追加] をクリックして、クエリ結果の可視化チャートを作成します。 詳細については、「Redash 公式ドキュメント」をご参照ください。
