メインコンテンツまでスキップ

レイクハウスのSQLエディターからのクエリ

備考

プレビュー

Lakebase Postgres (オートスケール Preview) は 、次のリージョンで利用できます: us-east-1us-west-2eu-west-1

Lakebase オートスケール Preview は Lakebase の新しいバージョンです。 オートスケールコンピュート、分岐、インスタントリストアなどの高度な機能をサポートします。 Lakebase の以前のバージョンについては、 「Lakebase プロビジョニング プレビュー」を参照してください。 どのバージョンが適しているかを判断するには、バージョンの選択を参照してください。

このページでは、レイクハウスのSQLエディターから 2 つの異なる接続方法を使用して、Lakebase プロジェクト内のデータベースをクエリする方法について説明します。

レイクハウスのSQLエディターは、クエリを作成し、データカタログを参照し、ビジュアライゼーションを作成し、結果を同僚と共有できる共同作業用のSQLワークスペースです。 アナリティクス、コラボレーション、自動化のための高度な機能を提供します。

注記

EXPLAIN / ANALYZEやメタコマンド ( \dt\d\l ) などの Postgres ネイティブ機能については、Lakebase SQL エディターを使用します。Lakebase SQL エディターからのクエリを参照してください。

SQLエディターの機能の詳細については、 SQLエディターでクエリを記述してデータを探索する」を参照してください。

接続方法

次の 2 つの方法を使用して、SQL エディターから Lakebase データベースに接続できます。

  1. 直接コンピュート接続 : Lakebase コンピュートに直接接続して、特定のプロジェクトやブランチに即座にクエリ アクセスします。
  2. Unity Catalog登録 : Unity Catalogにデータベースを登録して、フェデレーション クエリ、統合ガバナンス、およびクロスソース アナリティクスを有効にします。

接続方法を選択してください

機能

コンピュートダイレクト接続

Unity Catalog登録

データアクセス

Lakebase データベースへの完全な読み取り/書き込みアクセス

Unity Catalogを介した読み取り専用アクセス

どのようなタスクにベストなのか

他のデータソースと組み合わせずに、主にLakebaseデータのみを扱う

フェデレーションクエリでLakebaseデータを他のUnity Catalogテーブルと組み合わせる

セットアップの複雑さ

登録なしで特定のデータベースにすぐにアクセスしてクエリを実行できます

カタログ登録とUnity Catalog権限が必要です

ガバナンス

Unity Catalogガバナンス機能はありません

統合ガバナンス制御(権限、リネージ、監査ログ)

アクセス制御

Postgres のロールベースの権限のみ

複数のデータソースにわたる集中的な検出とアクセス制御

ユースケース

直接的なデータベース操作と変更

トランザクションデータと分析データを統合するダッシュボードとアプリケーション

方法 1: Lakebase コンピュートに直接接続する

このメソッドを使用して、Lakebase コンピュートに直接接続し、即時にクエリにアクセスします。

始める前に

プロジェクトのオーナーではない場合は、次の点を確認してください。

  • Postgres ロール : データベースにアクセスするための対応する Postgres ロール。「Postgres ロールの管理」を参照してください。
  • データベース権限 : データベース、スキーマ、またはテーブルにアクセスするために必要な権限。「権限の管理」を参照してください。

必要な役割または権限がない場合は、プロジェクト オーナーに連絡してアクセスをリクエストしてください。

注記

Lakebase コンピュートに接続するには、Lakebase コンピュートがアクティブな状態である必要があります。 コンピュートがアイドル状態の場合はアタッチできません。 通常、ゼロへのスケールが有効でデータベース アクティビティがない場合、コンピュートは非アクティブになります。

アイドル状態のコンピュートをアクティブにするには、Lakebase SQLエディターでクエリを実行するか、ゼロへのスケールを無効にしてコンピュートがアクティブなままであることを確認します。 「ゼロにスケール」を参照してください。

Lakebase コンピュートに直接接続するには:

  1. アプリスイッチャーを使用してレイクハウスに移動します。
  2. クリックしてSQLエディタを開きますSQLエディターアイコンサイドバーの SQL エディター
  3. [接続] ドロップダウン メニューから [詳細...] を選択します。

接続メニュー

  1. [既存のコンピュート リソースにアタッチ] ダイアログで、 Lakebase Postgres を 選択し、 オートスケール オプションを選択して、 プロジェクトブランチ を選択します。

LKBプロジェクトとブランチにアタッチする

  1. 「添付」 をクリックして接続します。

直接接続のクエリ例

接続後、Lakebase データベースに対して標準の Postgres SQL クエリを実行できます。

テーブルを作成し、データを挿入してクエリを実行します。

SQL
CREATE TABLE IF NOT EXISTS playing_with_lakebase(id SERIAL PRIMARY KEY, name TEXT NOT NULL, value REAL);
INSERT INTO playing_with_lakebase(name, value)
SELECT LEFT(md5(i::TEXT), 10), random() FROM generate_series(1, 10) s(i);
SELECT * FROM playing_with_lakebase;

特定のテーブルをクエリします。

SQL
SELECT * FROM public.playing_with_lakebase;
重要

直接接続の制限:

  • フェデレーション クエリはサポートされていません 。接続された Lakebase プロジェクトとブランチに対してのみクエリを実行できます。単一のクエリで Lakebase データを他の Unity Catalog テーブルと組み合わせることはできません。
  • Postgres メタコマンドはサポートされていません : Lakebase SQLエディターで動作するPostgres メタコマンド( \dt\d\lなど) はSQLエディター (レイクハウス) では動作しません。

方法2: Unity Catalogにデータベースを登録する

このメソッドを使用して、Lakebase データベースをUnity Catalogに登録し、データ ソース全体でフェデレーション クエリと統合ガバナンスを有効にします。

始める前に

以下を確認してください:

  • Postgres ロール : データベースにアクセスするための対応する Postgres ロール。「Postgres ロールの管理」を参照してください。
  • データベース権限 : データベース、スキーマ、またはテーブルにアクセスするために必要な権限。「権限の管理」を参照してください。
  • Unity Catalog権限 : データベースを登録するためのUnity Catalogメタストアに対するCREATE CATALOG権限
  • SQLウェアハウス : 登録されたカタログをクエリするためのサーバレスSQLウェアハウス

必要な役割または権限がない場合は、プロジェクト オーナーに連絡してアクセスをリクエストしてください。

データベースを登録する

Unity Catalogに Lakebase データベースを登録するには:

  1. アプリスイッチャーを使用してレイクハウスに移動します。
  2. カタログ エクスプローラーで、プラス アイコンをクリックし、 カタログを作成します
  3. カタログ名を入力します (例: lakebase_catalog )。
  4. カタログ タイプとして Lakebase Postgres を選択し、 オートスケール オプションを選択します。
  5. プロジェクト、ブランチ、Postgres データベースを選択します。
  6. 作成 をクリックします。

カタログはカタログ エクスプローラーに表示され、スキーマ、テーブル、ビューを参照できます。

Unity Catalogを介したクエリ

登録後、 SQLまたはUnity Catalogに接続するツールを使用して、Lakebase データベースにクエリを実行します。

登録されたデータベースをクエリします。

SQL
-- Query a registered :re[LKB] database
SELECT * FROM chatbot_catalog.public.conversations
WHERE created_at >= current_date - INTERVAL 7 DAYS;

Lakebase とレイクハウスのデータを結合します。

SQL
-- Join :re[LKB] and Unity Catalog data
SELECT
c.conversation_id,
c.user_id,
c.agent_response,
u.user_name,
u.subscription_tier
FROM chatbot_catalog.public.conversations c
JOIN main.user_analytics.users u
ON c.user_id = u.user_id;

Unity Catalog権限と他のユーザーへのアクセス権の付与に関する情報については、 「権限とアクセス制御」を参照してください。

重要

Unity Catalog登録の制限:

  • 読み取り専用アクセス : Lakebase データベースから登録されたカタログは、Unity Catalog を通じて読み取り専用になります。データを変更するには、Lakebase SQL エディターを使用するか、データベースに直接接続します。
  • カタログごとに 1 つのデータベース : 各 Unity Catalog カタログは 1 つの Lakebase データベースを表します。複数のデータベースを公開するには、それぞれを個別に登録します。
  • メタデータ同期 : Unity Catalog はメタデータをキャッシュして Postgres リクエストを削減します。新しいオブジェクトはすぐには表示されない場合があります。クリックスキーマアイコンの更新完全な更新をトリガーします。

Unity Catalogでのデータベースの登録に関する詳細については、 Unity Catalogでの Lakebase データベースの登録」を参照してください。

次のステップ