Quick BI は、大規模データセットに対してリアルタイムのオンライン分析と幅広い可視化機能を提供するツールです。ドラッグアンドドロップ操作または SQL 文を使用して、簡単にデータを分析・ビジネス情報を探索・レポートを作成できます。本トピックでは、Hologres インスタンスを Quick BI に接続して可視化分析を行う方法について説明します。
前提条件
-
Hologres を有効化しました。詳細については、「Hologres インスタンスの購入」をご参照ください。
-
Quick BI を有効化済みである必要があります。詳細については、「Quick BI の購入、スペックアップ、更新、支払い遅延の対応」をご参照ください。
背景情報
Hologres は Quick BI とシームレスに統合されます。Quick BI を Hologres データソースに直接接続することで、高性能クエリによるデータの可視化が可能です。
現在、Quick BI Pro および Professional Edition のみが Hologres データソースをサポートしています。その他のエディションでは、PostgreSQL データソースを使用できます。PostgreSQL データソースに関する操作の詳細については、「Alibaba Cloud データソース - PostgreSQL」をご参照ください。
本トピックでは、Quick BI Pro を例として、Hologres インスタンスへの接続および可視化分析の手順を説明します。
制限事項
-
Hologres インスタンスを Quick BI に接続する際に、Hologres インスタンス側でホワイトリストを構成する必要はありません。
-
Hologres インスタンスを Quick BI に接続する際は、ご利用の Quick BI エディションに対応するデータソースを選択する必要があります。Hologres データソースの使用を推奨します。
-
Quick BI は、パブリックネットワークまたは指定された VPC を使用する場合にのみ、ホワイトリスト制限をサポートしています。
Quick BI を使用した可視化分析
-
Quick BI コンソールにログインします。
-
データソースを追加します。
-
Quick BI コンソールページで、上部メニューバーの [ワークスペース] をクリックします。
-
[ワークスペース] ページの左側ナビゲーションウィンドウで、[データソース] をクリックします。
-
[データソース] ページの右上隅で、[新規データソース] をクリックします。
-
接続先のデータソースを選択し、パラメーターを構成します。
-
[Alibaba Hologres] データソースを選択します。

-
[Hologres データソースの追加] では、以下のパラメーターを構成します。

指定された VPC ネットワーク経由での Hologres 接続
パラメーター名
説明
詳細
表示名
データソースの名前を入力します。この名前は、データソースを識別する際に役立ちます。
なし
データベースアドレス
Hologres インスタンスの VPC エンドポイントです。
コンソールにログインします。インスタンス詳細ページの Network Information セクションで、指定された VPC のエンドポイントを ドメイン名 列から確認します。
説明ポート番号は含めないでください。例:
hgpostcn-cn-nwy364b5v009-cn-shanghai-vpc-st.hologres.aliyuncs.comポート
Hologres インスタンスの VPC ポートです。
コンソールにログインします。インスタンス詳細ページの Network Information セクションにある ドメイン名 列から、指定された VPC のポートを取得します。
データベース
接続先のデータベース名です。
コンソールにログインします。インスタンス詳細ページの Database Management ページからデータベース名を取得します。
スキーマ
デフォルトのスキーマは [public] です。
新しく作成したスキーマを使用することも可能です。データソースにスキーマを構成すると、このスキーマ内のすべてのテーブルが表示されます。ただし、アドホック SQL クエリを実行する際には、テーブルが正しく参照されるように、`schema.table` 形式でテーブル名の前にスキーマ名を手動で追加する必要があります。
ユーザー名
ご利用の Alibaba Cloud アカウントの AccessKey ID です。
AccessKey 管理 をクリックして AccessKey ID を取得します。
パスワード
ご利用の Alibaba Cloud アカウントの AccessKey Secret です。
AccessKey 管理 をクリックして AccessKey Secret を取得します。
VPC データソーススイッチ
このスイッチをオンにします。
なし。
購入者 AccessKey ID
インスタンスを購入したアカウントの AccessKey ID です。
なし。
購入者 AccessKey
インスタンスを購入したアカウントの AccessKey Secret です。
なし。
インスタンス ID
Hologres インスタンスの ID です。
なし。
リージョン
Hologres インスタンスが配置されているリージョンです。
なし。
SSL
接続先のデータソースが SSL で構成されている場合、このオプションを選択して SSL セキュリティプロトコルを有効化し、データを保護できます。
なし。
初期化 SQL
このオプションを選択して、初期化 SQL 文を設定します。
これらの SQL 文は、データソースへの接続が確立されるたびに初期化のために実行されます。SET 文のみが許可されています。複数の文をセミコロン (;) で区切って記述します。
なし。
ファイルアップロードの有効化
このオプションを選択して、ファイルアップロードを有効化します。
なし。
パブリックネットワーク経由での Hologres 接続
パラメーター名
説明
詳細
表示名
データソースの名前を入力します。この名前は、データソースを識別する際に役立ちます。
なし
データベースアドレス
Hologres インスタンスのパブリックエンドポイントです。
コンソールにログインします。インスタンス詳細ページの Network Information セクションにある ドメイン名 列からパブリックエンドポイントを取得します。
説明ポート番号は含めないでください。
ポート
Hologres インスタンスのパブリックネットワークポートです。
コンソールにログインします。インスタンス詳細ページの Network Information セクションにある ドメイン名 列からパブリックネットワークポートを取得します。
データベース
接続先のデータベース名です。
コンソールにログインします。インスタンス詳細ページの [DB 管理] ページでデータベース名を確認します。
スキーマ
デフォルト値は [public] スキーマです。
新しく作成したスキーマを使用することも可能です。データソースにスキーマを構成すると、このスキーマ内のすべてのテーブルが表示されます。ただし、アドホック SQL クエリを実行する際には、テーブルが正しく参照されるように、`schema.table` 形式でテーブル名の前にスキーマ名を手動で追加する必要があります。
ユーザー名
ご利用の Alibaba Cloud アカウントの AccessKey ID です。
AccessKey 管理 をクリックして AccessKey ID を取得します。
パスワード
ご利用の Alibaba Cloud アカウントの AccessKey Secret です。
AccessKey 管理 をクリックして AccessKey Secret を取得します。
VPC データソーススイッチ
このスイッチをオフにします。
なし。
SSL
接続先のデータソースが SSL で構成されている場合、このオプションを選択して SSL セキュリティプロトコルを有効化し、データを保護できます。
なし。
初期化 SQL
このオプションを選択して、初期化 SQL 文を設定します。
これらの SQL 文は、データソースへの接続が確立されるたびに初期化のために実行されます。SET 文のみが許可されています。複数の文をセミコロン (;) で区切って記述します。
なし。
ファイルアップロードの有効化
このオプションを選択して、ファイルアップロードを有効化します。
なし。
クラシックネットワーク経由での Hologres 接続
パラメーター名
説明
詳細
表示名
データソースの名前を入力します。この名前は、データソースを識別する際に役立ちます。
なし
データベースアドレス
Hologres インスタンスのクラシックネットワークエンドポイントです。
コンソールにログインします。インスタンス詳細ページの Network Information セクションにある ドメイン名 列からクラシックネットワークエンドポイントを取得します。
説明ポート番号は含めないでください。例:
hgpostcn-cn-nwy364b5v009-cn-shanghai-vpc.hologres.aliyuncs.comポート
Hologres インスタンスのクラシックネットワークポートです。
コンソールにログインします。インスタンス詳細ページの Network Information セクションにある ドメイン名 列からクラシックネットワークポートを取得します。
データベース
接続先のデータベース名です。
コンソールにログインします。インスタンス詳細ページの [DB 管理] ページからデータベース名を取得します。
スキーマ
デフォルト値は、[public] スキーマです。
新しく作成したスキーマを使用することも可能です。データソースにスキーマを構成すると、このスキーマ内のすべてのテーブルが表示されます。ただし、アドホック SQL クエリを実行する際には、テーブルが正しく参照されるように、`schema.table` 形式でテーブル名の前にスキーマ名を手動で追加する必要があります。
ユーザー名
ご利用の Alibaba Cloud アカウントの AccessKey ID です。
AccessKey 管理 をクリックして AccessKey ID を取得します。
パスワード
ご利用の Alibaba Cloud アカウントの AccessKey Secret です。
AccessKey 管理 をクリックして AccessKey Secret を取得します。
VPC データソーススイッチ
このスイッチをオフにします。
なし。
SSL
接続先のデータソースが SSL で構成されている場合、このオプションを選択して SSL セキュリティプロトコルを有効化し、データを保護できます。
なし。
初期化 SQL
このオプションを選択して、初期化 SQL 文を設定します。
これらの SQL 文は、データソースへの接続が確立されるたびに初期化のために実行されます。SET 文のみが許可されています。複数の文をセミコロン (;) で区切って記述します。
なし。
ファイルアップロードの有効化
このオプションを選択して、ファイルアップロードを有効化します。
なし。
-
-
パラメーターを構成したら、[接続テスト] をクリックして、Quick BI と Hologres 間の接続性を確認します:
-
[データソースに接続しました。] と表示された場合は、接続が成功しています。
-
[データソースの接続に失敗しました。パラメーターが正しいか確認してください。] というメッセージが表示された場合は、接続に失敗しています。エラーメッセージに基づいて問題をトラブルシューティングしてください。
-
-
OK をクリックして構成を完了します。
-
-
データを可視化します。
データソースに接続後、 ページに移動し、作成したデータソースをクリックします。現在のデータベース内のすべてのテーブルが表示されます。
-
UI を使用してデータを可視化する場合は、ドラッグアンドドロップ方式を使用できます。
-
SQL 文を使用してデータを可視化する場合は、アドホック SQL 分析方式を使用できます。
以下では、それぞれの方式における操作を説明します。
-
ドラッグアンドドロップ方式
-
対象テーブルの Actions 列で、
アイコンをクリックしてデータセットを作成します。 -
[データセットの作成] ダイアログボックスで、Name および [場所] パラメーターを構成します。
-
OK をクリックします。
-
[マイデータセット] ページで、対象データセットの Actions 列にあるアイコンをクリックして操作を実行できます:
-
アイコンをクリックして、現在のデータセット内のデータを表示します。 -
アイコンをクリックしてダッシュボードを作成し、テーブルデータをインポートしてチャートを生成し、可視化を行います。 -
アイコンをクリックしてワークブックを作成し、対象テーブルデータをインポートしてワークブックを生成し、可視化を行います。 -
アイコンをクリックして、データマスキング、キャッシュの構成、キャッシュのクリアなどの追加操作を実行します。
各機能の操作の詳細については、「概要」をご参照ください。
次の図は、ダッシュボードを作成し、ダッシュボード編集ページで積み上げ縦棒グラフを作成してチャートスタイルを設計し、データを表示する例を示しています。
-
-
-
アドホック SQL 分析方式
-
[データソース] ページで、右上隅の [アドホック SQL 分析] をクリックして、[アドホック SQL 分析] ページに移動します。
-
SQL 文を入力し、Upload をクリックします。
-
データが返されたら、[データセットの作成] をクリックします。
-
[カスタム SQL の保存] ダイアログボックスで、Name、[場所]、および [SQL] パラメーターを構成します。
-
OK をクリックします。
データセットを作成後、[データセット] でテーブルデータを可視化できます。詳細については、「カスタム SQL 文を使用したデータセットの作成」をご参照ください。
-
-
時間フィルターコントロールのベストプラクティス
Hologres インスタンスにテーブルを作成する際、時間ベースのフィルター条件に対するインデックスを最適化するために、Segment_key(エイリアス:event_time_column)プロパティを設定できます。この設定により、全表スキャンを回避し、クエリを高速化できます。デフォルトでは、Hologres はテーブル内の最初のタイムスタンプ型カラムを Segment_key として使用します。
Quick BI は高度な SQL プレースホルダーをサポートしています。SQL プレースホルダーを使用して時間コントロールを設定できます。SQL プレースホルダーの詳細については、「カスタム SQL 文を使用したデータセットの作成」をご参照ください。
-
時間フィルターフィールドのプレースホルダーを設定します。
以下の手順を実行する前に、Hologres インスタンスに LINEITEM という内部テーブルを作成し、MaxCompute パブリックスペース MAXCOMPUTE_PUBLIC_DATA 内の public.odps_lineitem_10g テーブルから LINEITEM テーブルにデータをインポートしておく必要があります。詳細については、「Hologres クエリのクイックスタート」をご参照ください。
-
Quick BI コンソールの [データソース] ページで、右上隅の [SQL でデータセットを作成] をクリックします。[新規スニペット] ダイアログボックスが表示されます。
-
次の SQL 文を入力して、LINEITEM テーブルからタイムスタンプデータを取得します。
SELECT * FROM "public"."lineitem" AS AME_T_1_ WHERE AME_T_1_."l_shipdate" >= TO_TIMESTAMP('${report_date.get(0)}', 'yyyy-MM-dd hh24:mi:ss') AND AME_T_1_."l_shipdate" <= TO_TIMESTAMP('${report_date.get(1)}', 'yyyy-MM-dd hh24:mi:ss') -
Parameter Settings をクリックして、SQL プレースホルダーを設定します。
-
[変数タイプ] で、「日付-年月日時分秒 > YYYY-MM-DD HH-MI-SS」を選択します。
-
OK をクリックし、次に [編集の確認] をクリックします。
-
[ダッシュボード] 編集ページで、[新規フィルター] をクリックします。[クエリ条件設定] ダイアログボックスで、フィールドに設定した SQL プレースホルダーを選択します。
-
[ダッシュボード] 編集ページで、[SQL を表示] をクリックして、次の SQL 文を取得します。
SELECT AME_T_1_."l_shipmode" AS T_A0_2_, AME_T_1_."l_shipinstruct" AS T_A1_3_, SUM(AME_T_1_."l_extendedprice") AS T_A2_4_ FROM "public"."lineitem" AS AME_T_1_ WHERE AME_T_1_."l_shipdate" >= TO_TIMESTAMP('1993-01-01 00:00:00', 'yyyy-MM-dd hh24:mi:ss') AND AME_T_1_."l_shipdate" <= TO_TIMESTAMP('1998-12-31 23:59:59', 'yyyy-MM-dd hh24:mi:ss') GROUP BY AME_T_1_."l_shipmode", AME_T_1_."l_shipinstruct" LIMIT 1000 OFFSET 0
-
-
Segment_key が有効であることを検証します。
SQL 文の実行計画に Segment Filter キーワードが表示されているかどうかを確認することで、Segment_key が有効であることを検証できます。
-
Hologres コンソールにログインし、左側のナビゲーションウィンドウで Instances をクリックします。
-
Instance Details ページの左側ナビゲーションウィンドウで、Database Management をクリックします。
-
[DB 認可] ページで、SQL Editor をクリックします。
-
SQL Editor ページの左上隅で、[新規 SQL ウィンドウ] をクリックします。
-
新しい Ad-hoc Query ページで、作成した Instance Name および データベース を選択します。次に、SQL エディターに次の文を入力し、Run をクリックします。
次の SQL 文は、実行計画を表示し、Segment_key が有効であることを検証するために使用されます。

explain SELECT AME_T_1_."l_shipmode" AS T_A0_2_, AME_T_1_."l_shipinstruct" AS T_A1_3_, SUM(AME_T_1_."l_extendedprice") AS T_A2_4_ FROM "public"."lineitem" AS AME_T_1_ WHERE AME_T_1_."l_shipdate" >= TO_TIMESTAMP('1993-01-01 00:00:00', 'yyyy-MM-dd hh24:mi:ss') AND AME_T_1_."l_shipdate" <= TO_TIMESTAMP('1998-12-31 23:59:59', 'yyyy-MM-dd hh24:mi:ss') GROUP BY AME_T_1_."l_shipmode", AME_T_1_."l_shipinstruct" LIMIT 1000 OFFSET 0 -
Result タブで、次の図のように実行計画を確認できます。
-> Limit (cost=0.00..1.01 rows=1 width=24) -> Partial HashAggregate (cost=0.00..1.01 rows=1 width=24) Group Key: l_shipmode, l_shipinstruct -> Redistribute Motion (cost=0.00..1.01 rows=10 width=24) -> Result (cost=0.00..1.01 rows=10 width=24) -> Partial HashAggregate (cost=0.00..1.01 rows=10 width=24) Group Key: l_shipmode, l_shipinstruct -> Parallelism (Gather Exchange) (cost=0.00..1.01 rows=32 width=24) -> Result (cost=0.00..1.01 rows=32 width=24) -> DecodeNode (cost=0.00..1.01 rows=32 width=24) -> Partial HashAggregate (cost=0.00..1.01 rows=32 width=24) Group Key: l_shipmode, l_shipinstruct -> Index Scan using holo_index:[1] on lineitem (cost=0.00..1.00 rows=1000 width=24) Segment Filter: ((l_shipdate >= '1993-01-01 00:00:00+08'::timestamp with time zone)実行計画に Segment Filter キーワードが含まれています。これは、Segment_key が有効であり、SQL プレースホルダーで作成した時間コントロールを使用できることを示しています。
-