Alibaba Cloud Quick BI では、大量のデータをリアルタイムでオンライン分析し、豊富な可視化機能を提供します。 これにより、ドラッグアンドドロップ操作を実行するか、SQL 文を実行することで、データを分析し、ビジネスデータを探索し、レポートを簡単に作成できます。 このトピックでは、Quick BI を Hologres に接続し、データを視覚的に分析する方法について説明します。
前提条件
Hologres インスタンスが購入済みであること。 詳細については、「Hologres インスタンスを購入する」をご参照ください。
Quick BI がアクティブ化されていること。 詳細については、「購入、アップグレード、ダウングレード、更新、および支払い遅延」をご参照ください。
背景情報
Hologres 接続を使用して、Quick BI を Hologres に効率的に接続できます。 これにより、視覚的なデータ分析のために、Quick BI で Hologres データを直接クエリできます。
Quick BI Pro および Quick BI Standard では、Hologres 接続を使用して Quick BI を Hologres に接続できます。 Quick BI の別のエディションを使用している場合は、PostgreSQL 接続を使用する必要があります。 PostgreSQL 接続の使用方法の詳細については、「クラウドデータソース ApsaraDB RDS for PostgreSQL を追加する」をご参照ください。
この例では、視覚的なデータ分析のために Quick BI Pro が Hologres に接続されています。
制限事項
Hologres でホワイトリストを構成しなくても、Quick BI を Hologres に接続できます。
Quick BI を Hologres に接続する場合、Quick BI のエディションに基づいて使用する接続のタイプを決定できます。 Hologres 接続を使用することをお勧めします。
インターネットまたは特定の VPC 経由で Quick BI を Hologres に接続する場合にのみ、Quick BI でアクセスの制御のためのホワイトリストを構成できます。
Quick BI を Hologres に接続して視覚的なデータ分析を実行する
Quick BI コンソール にログインします。
接続を作成します。
Quick BI コンソールの上部ナビゲーションバーで、[ワークスペース] をクリックします。
[ワークスペース] ページの左側のナビゲーションウィンドウで、[データソース] をクリックします。
[データソース] ページで、[データソースの作成] をクリックします。
Quick BI を Hologres に接続するために構成する接続のタイプを選択し、必要に応じてパラメータを構成します。
[Alibaba Hologres] を選択します。

[Alibaba Hologres] ダイアログボックスで、必要に応じてパラメータを構成します。

特定の VPC 経由で Quick BI を Hologres に接続するために必要なパラメータ
パラメータ
説明
備考
名前
データソースの名前。 ビジネス要件に基づいてこのパラメータを指定します。 データソースを区別するために使用されます。
なし。
データベースアドレス
Quick BI を接続する Hologres インスタンスの VPC エンドポイント。
Hologres コンソール にログインし、[インスタンスの詳細] ページに移動して、[ネットワーク情報] セクションの [エンドポイント] 列にある VPC エンドポイントを取得できます。
説明このパラメータの値にはポート番号は含まれません。 例:
hgpostcn-cn-nwy364b5v009-cn-shanghai-vpc-st.hologres.aliyuncs.com。ポート番号
Hologres インスタンスが関連付けられている VPC のポート番号。
Hologres コンソール にログインし、[インスタンスの詳細] ページに移動して、[ネットワーク情報] セクションの [エンドポイント] 列にある VPC エンドポイントのポート番号を取得できます。
データベース
Hologres インスタンスで接続されるデータベースの名前。
Hologres コンソール の [インスタンスの詳細] ページで [データベース管理] をクリックすると、[データベース管理] ページにデータベース名が表示されます。
スキーマ
指定されたデータベース内のスキーマの名前。 デフォルト値は [public] です。
カスタムスキーマを指定できます。 接続が作成されると、指定されたスキーマ内のすべてのテーブルが表示されます。 アドホッククエリ用に SQL 文を実行するには、スキーマで参照するテーブルの名前を「スキーマ名.テーブル名」の形式で指定する必要があります。
ユーザー名
Alibaba Cloud アカウントの AccessKey ID。
セキュリティ管理 ページから AccessKey ID を取得できます。
パスワード
Alibaba Cloud アカウントの AccessKey シークレット。
セキュリティ管理 ページから AccessKey シークレットを取得できます。
VPC データソース
この項目を選択する必要があります。
なし。
AccessKey ID
Hologres インスタンスの購入に使用されるアカウントの AccessKey ID。
なし。
AccessKey シークレット
Hologres インスタンスの購入に使用されるアカウントの AccessKey シークレット。
なし。
インスタンス ID
Hologres インスタンスの ID。
なし。
リージョン
Hologres インスタンスが存在するリージョン。
なし。
SSL
データソースに SSL が構成されている場合、このスイッチをオンにしてデータセキュリティを保護できます。
なし。
初期化 SQL
このスイッチをオンにすると、初期化 SQL 文を構成できます。
各データソース接続の初期化中に実行される SQL 文は、SET 文のみ可能です。 文はセミコロン(;)で区切る必要があります。
なし。
ファイルアップロードを有効にする
このオプションを選択すると、ファイルのアップロードがサポートされます。
なし。
インターネット経由で Quick BI を Hologres に接続するために必要なパラメータ
パラメータ
説明
備考
名前
データソースの名前。 ビジネス要件に基づいてこのパラメータを指定します。 データソースを区別するために使用されます。
なし。
データベースアドレス
Quick BI を接続する Hologres インスタンスのパブリックエンドポイント。
Hologres コンソール にログインし、[インスタンスの詳細] ページに移動して、[ネットワーク情報] セクションの [エンドポイント] 列にあるパブリックエンドポイントを取得できます。
説明このパラメータの値にはポート番号は含まれません。
ポート番号
Hologres インスタンスが使用するパブリックエンドポイントのポート番号。
Hologres コンソール にログインし、[インスタンスの詳細] ページに移動して、[ネットワーク情報] セクションの [エンドポイント] 列にあるパブリックエンドポイントのポート番号を取得できます。
データベース
Hologres インスタンスで接続されるデータベースの名前。
Hologres コンソール の [インスタンスの詳細] ページで [データベース管理] をクリックすると、[データベース管理] ページにデータベース名が表示されます。
スキーマ
指定されたデータベース内のスキーマの名前。 デフォルト値は [public] です。
カスタムスキーマを指定できます。 接続が作成されると、指定されたスキーマ内のすべてのテーブルが表示されます。 アドホッククエリ用に SQL 文を実行するには、スキーマで参照するテーブルの名前を「スキーマ名.テーブル名」の形式で指定する必要があります。
ユーザー名
Alibaba Cloud アカウントの AccessKey ID。
セキュリティ管理 ページから AccessKey ID を取得できます。
パスワード
Alibaba Cloud アカウントの AccessKey シークレット。
セキュリティ管理 ページから AccessKey シークレットを取得できます。
VPC データソース
この項目を選択しないでください。
なし。
SSL
データソースに SSL が構成されている場合、このスイッチをオンにしてデータセキュリティを保護できます。
なし。
初期化 SQL
このスイッチをオンにすると、初期化 SQL 文を構成できます。
各データソース接続の初期化中に実行される SQL 文は、SET 文のみ可能です。 文はセミコロン(;)で区切る必要があります。
なし。
ファイルアップロードを有効にする
このオプションを選択すると、ファイルのアップロードがサポートされます。
なし。
クラシックネットワーク経由で Quick BI を Hologres に接続するために必要なパラメータ
パラメータ
説明
備考
名前
データソースの名前。 ビジネス要件に基づいてこのパラメータを指定します。 データソースを区別するために使用されます。
なし。
データベースアドレス
クラシックネットワークの Hologres インスタンスのエンドポイント。
Hologres コンソール にログインし、[インスタンスの詳細] ページに移動して、[ネットワーク情報] セクションの [エンドポイント] 列にあるクラシックネットワークエンドポイントを取得できます。
説明このパラメータの値にはポート番号は含まれません。 例:
hgpostcn-cn-nwy364b5v009-cn-shanghai-vpc.hologres.aliyuncs.com。ポート番号
Hologres インスタンスが使用するクラシックネットワークエンドポイントのポート番号。
Hologres コンソール にログインし、[インスタンスの詳細] ページに移動して、[ネットワーク情報] セクションの [エンドポイント] 列にあるクラシックネットワークエンドポイントのポート番号を取得できます。
データベース
Hologres インスタンスで接続されるデータベースの名前。
Hologres コンソール の [インスタンスの詳細] ページで [データベース管理] をクリックすると、[データベース管理] ページにデータベース名が表示されます。
スキーマ
指定されたデータベース内のスキーマの名前。 デフォルト値は [public] です。
カスタムスキーマを指定できます。 接続が作成されると、指定されたスキーマ内のすべてのテーブルが表示されます。 アドホッククエリ用に SQL 文を実行するには、スキーマで参照するテーブルの名前を「スキーマ名.テーブル名」の形式で指定する必要があります。
ユーザー名
Alibaba Cloud アカウントの AccessKey ID。
セキュリティ管理 ページから AccessKey ID を取得できます。
パスワード
Alibaba Cloud アカウントの AccessKey シークレット。
セキュリティ管理 ページから AccessKey シークレットを取得できます。
VPC データソース
この項目を選択しないでください。
なし。
SSL
データソースに SSL が構成されている場合、このスイッチをオンにしてデータセキュリティを保護できます。
なし。
初期化 SQL
このスイッチをオンにすると、初期化 SQL 文を構成できます。
各データソース接続の初期化中に実行される SQL 文は、SET 文のみ可能です。 文はセミコロン(;)で区切る必要があります。
なし。
ファイルアップロードを有効にする
このオプションを選択すると、ファイルのアップロードがサポートされます。
なし。
パラメータを構成した後、[接続テスト] をクリックして、Hologres と Quick BI 間の接続をテストできます。
[追加操作が完了しました] メッセージが表示された場合、Hologres と Quick BI 間の接続が確立されています。
[Quick BI は指定されたデータソースに接続できません。 すべての設定が正しいことを確認してください] メッセージが表示された場合、Hologres と Quick BI 間の接続の確立に失敗しています。 この場合、エラーメッセージに基づいて例外を処理します。
[OK] をクリックします。
データ分析結果を視覚的に表示します。
データソースが接続された後、[マイ データ ソース] ページの セクションで、作成された接続をクリックします。 その後、データソース内のすべてのテーブルが表示されます。
GUI で視覚的なデータ分析を実行する場合は、ドラッグアンドドロップ操作を実行できます。
SQL 文を実行して視覚的なデータ分析を実行する場合は、アドホッククエリ用に SQL 文を実行できます。
手順:
ドラッグアンドドロップ操作を実行します。
データセットを作成するテーブルを見つけ、
[アクション] 列の アイコンをクリックします。[データセットの作成] ダイアログボックスで、[名前] パラメータと [保存先] パラメータを構成します。
[OK] をクリックします。
[データセット] ページで、管理するデータセットを見つけ、[アクション] 列のアイコンをクリックして、関連する操作を実行します。
アイコンをクリックして、現在のデータセットのデータを表示します。
アイコンをクリックして、ダッシュボードを作成します。 テーブルのデータをインポートして、視覚的に表示するためのグラフを生成します。
アイコンをクリックして、ワークブックを作成します。 テーブルのデータをインポートして、視覚的に表示するためのワークブックを生成します。
アイコンをクリックして、データマスキング、キャッシュ構成、キャッシュクリアなどの他の操作を実行します。
詳細については、「概要」をご参照ください。
ダッシュボード編集ページで、積み上げ縦棒グラフを作成し、チャートスタイルを構成してデータを表示できます。
アドホッククエリ用に SQL 文を実行します。
[データソース] ページの右上隅にある [アドホッククエリ] をクリックして、[アドホッククエリ] ページに移動します。
ビジネス要件に基づいてデータをクエリする SQL 文を入力し、[実行] をクリックします。
クエリするデータを取得した後、[データセットの作成] をクリックします。
[カスタム SQL を保存] ダイアログボックスで、[名前]、[保存先]、および [SQL] パラメータを構成します。
[OK] をクリックします。
データセットが作成された後、[データセット] ページでデータを視覚的に分析できます。 詳細については、「カスタム SQL」をご参照ください。
時間フィルターを構成する
Hologres でテーブルを作成する場合、segment_key プロパティまたは event_time_column プロパティを構成して、時間タイプのフィルター条件のインデックスを最適化できます。 これにより、全表スキャンが回避され、クエリが高速化されます。 デフォルトでは、Hologres はテーブル内の TIMESTAMP タイプの最初のフィールドを セグメントキー として使用します。
Quick BI は、プレースホルダーを含む 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')[パラメータ] をクリックします。 [パラメータ] パネルで、SQL 文にプレースホルダーを設定します。
[変数タイプ] 列のドロップダウンリストから、YYYY-MM-DD HH-MI-SS を選択します。
[決定] をクリックします。 次に、[編集の確認] をクリックします。
ダッシュボード編集ページで、上部ツールバーの [フィルターバー] アイコンをクリックします。 次に、キャンバスの [新しいフィルター] アイコンをクリックします。 [クエリ条件設定] ダイアログボックスで、フィルターフィールドとして設定したプレースホルダーを選択します。
ダッシュボード編集ページで、管理するグラフを見つけ、右上隅にある [詳細] アイコンをクリックし、[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
セグメントキー が有効になっているかどうかを確認します。
取得した SQL 文の実行プランに Segment Filter キーワードが表示されるかどうかを確認することで、セグメントキー が有効になっているかどうかを確認できます。
Hologres コンソール にログインします。 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。
Hologres インスタンスの詳細ページに移動します。 左側のナビゲーションウィンドウで、[データベース管理] をクリックします。
[データベース認証] ページで、上部ナビゲーションバーの [SQL エディタ] をクリックします。
[SQL エディタ] タブに移動します。 左上隅にある [新しい SQL クエリ] アイコンをクリックします。
[アドホッククエリ] タブで、[インスタンス] ドロップダウンリストからインスタンスを選択し、[データベース] ドロップダウンリストからデータベースを選択し、SQL エディタに次のサンプル文を入力して、[実行] をクリックします。
次の SQL 文は、取得した SQL 文の実行プランをクエリし、セグメントキー が有効になっているかどうかを確認するために使用されます。

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[結果] タブで、実行プランを表示します。
-> 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 キーワードが含まれています。 これは、セグメントキー が有効になっており、プレースホルダーを含む SQL 文を使用して時間フィルターを構成できることを示しています。