Redash は、MySQL や PostgreSQL などのさまざまなデータソースをサポートするオープンソースのビジネスインテリジェンス (BI) ツールです。直感的な Web インターフェイスを提供しており、データを探索および可視化できます。本記事では、Redash を AnalyticDB for MySQL に接続する方法を説明します。
前提条件
-
Redash がインストール済みであること。手順については、「Redash 公式ドキュメント」をご参照ください。
-
Redash が実行されているサーバーの IP アドレスが、AnalyticDB for MySQL クラスターのホワイトリストに追加されていること。手順については、「ホワイトリスト」をご参照ください。
-
Spark JDBC エンドポイントに接続する場合は、Spark インタラクティブリソースグループを作成する必要もあります。
AnalyticDB for MySQL エンドポイントへの接続
-
Redash を起動した後、ブラウザで
http://<IP アドレス>:<ポート番号>と入力して Redash の Web インターフェイスを開きます。IP アドレス:Redash サーバーの IP アドレスです。ポート番号:デフォルトのポートは 5000 です。ポート 5000 が既に使用されている場合は、Redash の起動時に別のポートを指定できます。 -
左側メニューで [Settings] をクリックします。[Data Sources] タブで、[+New Data Source] をクリックします。
-
[Create a New Data Source] ダイアログボックスで、次のパラメーターを設定し、[Create] をクリックします。
パラメーター
説明
タイプの選択
ドロップダウンリストから [MySQL] を選択します。
設定
Name
データソースのカスタム名。
Host
AnalyticDB for MySQL クラスターの接続エンドポイント。
-
Redash が AnalyticDB for MySQL クラスターと同じ VPC 内の ECS インスタンスにインストールされている場合は、ECS を入力します。
-
Redash がローカルサーバーにインストールされている場合は、パブリックエンドポイントを入力します。
Port
ポート番号。値は 3306 に固定されています。
User
AnalyticDB for MySQL クラスターのデータベースアカウント。
Password
AnalyticDB for MySQL データベースアカウントのパスワード。
Database Name
AnalyticDB for MySQL クラスター内のデータベース。
-
-
左側メニューで、 をクリックします。エディターで SQL ステートメントを記述し、[Execute] をクリックします。
クエリが正常に実行されると、結果がエディターの下のテーブルに表示されます。これにより、AnalyticDB for MySQL エンドポイントへの接続が成功したことが確認されます。
-
SQL ステートメントの実行後、[+ Add Visualization] をクリックして、結果からビジュアライゼーションを作成できます。詳細については、「Redash 公式ドキュメント」をご参照ください。
[Visualization Editor] ダイアログボックスで、[Visualization Type] を [Chart] に、[Chart Type] を [Bar] に設定します。[X Column] (例:
name) と [Y Columns] (例:age) を設定します。棒グラフのリアルタイムプレビューが右側に表示されます。設定を確認したら、[Save] をクリックします。
Spark JDBC エンドポイントへの接続
事前準備
-
(任意) adb_spark.png ファイルをターゲットパスにコピーします。
-
Redash のソースコード デプロイの場合、ターゲットパスは
<ソースコードのルートディレクトリ>/client/app/assets/images/db-logos/です。 -
Redash の Docker イメージ デプロイの場合、ターゲットパスは
</app ディレクトリ>/client/dist/images/db-logos/です。説明/app ディレクトリ は、
redash_server、redash_scheduler、redash_adhoc_worker、およびredash_scheduled_workerコンテナ内にあります。
-
-
adb_spark_ds.py ファイルをターゲットパスにコピーします。
-
Redash のソースコード デプロイの場合、ターゲットパスは
<ソースコードのルートディレクトリ>/redash/query_runner/です。 -
Redash の Docker イメージ デプロイの場合、ターゲットパスは
</app ディレクトリ>/redash/query_runner/です。説明/app ディレクトリ は、
redash_server、redash_scheduler、redash_adhoc_worker、およびredash_scheduled_workerコンテナ内にあります。
-
-
'redash.query_runner.adb_spark_ds'設定パラメーターを__init__.pyファイルに追加します。-
__init__.pyファイルのパス:Redash のソースコード デプロイの場合、ターゲットパスは
<ソースコードのルートディレクトリ>/redash/settings/__init__.pyです。Redash の Docker イメージ デプロイの場合、ターゲットパスは
</app ディレクトリ>/redash/settings/__init__.pyです。説明/app ディレクトリ は、
redash_server、redash_scheduler、redash_adhoc_worker、およびredash_scheduled_workerコンテナ内にあります。 -
パラメーターの形式は次のとおりです:
default_query_runners = [ 'redash.query_runner.athena', 'redash.query_runner.big_query', ........ 'redash.query_runner.uptycs', 'redash.query_runner.adb_spark_ds' ]
-
手順
-
Redash の Web インターフェイスにアクセスします。左側メニューで [Settings] をクリックします。[Data Sources] タブで、[+New Data Source] をクリックします。
-
[Create a New Data Source] ダイアログボックスで、次のパラメーターを設定し、[Create] をクリックします。
パラメーター
説明
タイプの選択
ドロップダウンリストから [ADB Spark] を選択します。
設定
Name
データソースのカスタム名。
Host
Spark インタラクティブリソースグループの接続エンドポイント。エンドポイントの取得方法については、「事前準備」をご参照ください。
Port
Spark インタラクティブリソースグループのポート番号。値は 10000 に固定されています。
Database
AnalyticDB for MySQL クラスター内のデータベース。
Username
AnalyticDB for MySQL クラスターのデータベースアカウント。
Password
AnalyticDB for MySQL データベースアカウントのパスワード。
Resource Group
Spark インタラクティブリソースグループの名前。
-
左側メニューで、 をクリックします。エディターで SQL ステートメントを記述し、[Execute] をクリックします。
たとえば、クエリ
select * from test_db.test_tblを実行します。クエリが正常に実行されると、結果が [Table] タブに表示されます。 -
SQL ステートメントの実行後、[+ Add Visualization] をクリックして、結果からビジュアライゼーションを作成できます。詳細については、「Redash 公式ドキュメント」をご参照ください。
[Visualization Editor] ダイアログボックスで、[Visualization Type] を [Chart] に、[Chart Type] を [Bar] に設定します。[X Column] に
nameを選択し、[Y Columns] にageを選択します。棒グラフのプレビューが右側に表示されます。設定を確認したら、[Save] をクリックします。