How To Get Setup for Lakehouse analytics#

Lakehouseアナリティクスの設定#

このドキュメントでは、Delta LakeおよびIcebergテーブルで読み取り専用分析を実行する前に必要な前提条件と設定手順について説明します。

必要なイメージバージョン、環境変数、CA証明書、カタログ構成、およびオブジェクトストレージバケットを識別する方法について説明します。


ゴール#

  • 必要なオペランドと拡張バージョンの確認

  • 環境変数と資格情報を確立する

  • アプライアンスCA証明書の取得

  • アプライアンスでプロビジョニングされたオブジェクトストレージバケットの特定


要件#

次のオペランドイメージが必要です。

  • PGD 6.0 Expanded スナップショットバージョン

  • PGAA 1.2+

拡張機能のバージョンを確認します。

 SELECT name, installed_version, default_version
 FROM pg_available_extensions
 WHERE name = pgaa;
 ``` `

 `default_version` は`1.2+` である必要があります。

 > 注ご使用の環境がスナップショットリポジトリまたは事前構築されたスナップショットオペランドイメージを必要とする場合、社内リリースノートと展開ランブックを参照してください。

 - --

 ##  仮定と変数

 このガイドでは、 PGD6クラスターがハイブリッドマネージャーで既にプロビジョニングされていることを前提としています。プロビジョニングは範囲外です。

 EPASまたはPGEでは`-pgdx` イメージバージョンを使用する必要があります。 Vanilla PostgreSQLは **サポートされていません** 。

 後で使用するために次の変数を定義します。

 .. csv-table::
:header: Variable,Meaning,Example
:widths: 12,25,15
:align: left
:class: longtable

`PROJECT_ID`,Hybrid Manager Project ID,`prj_RAi8WE2xivmeK4qm`
`APPL_URL`,Hybrid Manager base URL,`https://portal.eks-04250637-main.edbaiplatform.enterprisedb.network`
`API_PROV`,Hybrid Manager token with “editor” project permissions,`baak_abcdef…`
`API_WRITE`,Hybrid Manager token with “write\_catalog” project permissions,`baak_ghijkl…`
`PARAMS_URI`,Managed catalog API URL,`https://portal.eks-04250637-main.../catalog/`
`PARAMS_WAREHOUSE`,Managed catalog warehouse name (PyIceberg),`prj_RAi8WE2xivmeK4qm-catalog`
`PARAMS_WAREHOUSE_ID`,Managed catalog warehouse UUID (PGAA),`cd8c29f6-20fa-11f0-97cd-cfc1662c48a8`
`PARAMS_CONFIG`,Managed catalog config URL (PySpark),`https://portal.eks.../config?warehouse=prj_RAi8WE2xivmeK4qm-catalog`
`BUCKET_URL`,URL of the bucket used by Hybrid Manager for offloads,`s3://eks-04220339-main-edb-postgres`

 - --

 ##  アプライアンスCA証明書の取得

 この証明書は、サンプルデータのロードスクリプトに必要です。

 ```bash

 #  Using kube_context

 kubectl --context "$kube_context" get secret -n cert-manager global-ca-secret -o yaml | yq .data."ca.crt" | base64 -d > ca.crt

 #  On RHOS or avoiding kube_context

 kubectl get secret -n cert-manager global-ca-secret -o yaml | yq .data."ca.crt" | base64 -d > ca.crt

 #  On RHOS GCP where cert-manager may not exist

 kubectl get secret -n edbpgai-bootstrap beaconator-ca-bundle -o json | jq -r .data."public.crt" | base64 --decode > ca.crt

説明 CA証明書は、ハイブリッドマネージャーアプライアンスのAPIとサービスに接続するときに信頼を確立するために必要です。


Lakekeeperカタログを作成する#

API_PROV トークンを使用します。

  1. ハイブリッドマネージャーUIで、 Catalogs→Add Project Catalog に移動します。

  2. カタログ設定を使用してJSONをコピーします。例

{
  "uri": "https://portal-uat-rke.rke.hcp.enterprisedb.network/api/iceberg/prj_efpRstCQll6m2lGm",
  "warehouse": "prj_efpRstCQll6m2lGm-catalog-iXFkMR",
  "warehouseId": "d1d1d4ce-850a-11f0-88fb-af8509011340",
  "config": "https://portal-uat-rke.rke.hcp.enterprisedb.network/api/iceberg/prj_efpRstCQll6m2lGm/v1/config?warehouse=prj_efpRstCQll6m2lGm-catalog-iXFkMR"
}

説明 これらのパラメーターは、後でPGAAを管理対象カタログまたはPyIcebergやPySparkなどの外部ツールにリンクするときに使用されます。

RHOSでは、 pgaa.add_catalog のようなクラスター内SQLステートメントのパブリックURLの代わりに 内部KubernetesサービスURL を使用します。


バケットURLを特定します#

アプライアンスは、独自のオブジェクトストレージバケットをプロビジョニングします。 CSPに基づいてURLを構成します。

  • AWS ポータルURLのeks-XXXX 部分を使用し、 -main-edb-postgres を追加します。例

https://portal.eks-03242048-v11x.edbaiplatform.enterprisedb.network
→ s3://eks-03242048-main-edb-postgres
  • GCP ポータルURLのgke-XXXX 部分を使用し、 -main-edb-object-storage を追加します。例

https://portal.gke-05151425-v12x.edbaiplatform2.enterprisedb.network
→ gs://gke-05151425-main-edb-object-storage
  • RHOS Barmanバックアップまたはedb-object-storage シークレットを検査します。

kubectl get secret edb-object-storage -o yaml | yq .data.bucket_name | base64 -d

説明 PGAAコマンドおよびサンプルデータスクリプトでストレージを参照するには、BUCKET_URL 値が必要です。


サニティチェック#

パブリックバケットへのアクセスを確認するオプショナル#

aws s3 ls s3://beacon-analytics-demo-data-us-east-1-dev/iceberg-example/default.db --recursive --no-sign-request

次のようなファイルが表示されるはずです。

2025-03-18 08:44:38        902 iceberg-example/default.db/iceberg_table/data/00000-0-...
2025-03-18 08:44:38       4340 iceberg-example/default.db/iceberg_table/metadata/4ef9...
2025-03-18 08:44:38       1823 iceberg-example/default.db/iceberg_table/metadata/snap...

説明 これは、サンプルのIcebergデータセットが存在し、テストのためにアクセスできることを確認します。


次のステップ#


テイクアウト#

  • 準備された環境が後続のハウツーカタログ、リーダー、オフロードを加速します

  • CAバンドルとバケットURLは、データアクセスとツールの基礎です