Megosztás:


Ismerkedés a Databricks parancssori felületével a Lakebase-hez

Fontos

A Lakebase automatikus skálázása bétaverzióban érhető el a következő régiókban: eastus2, , westeuropewestus.

A Lakebase Autoscaling a Lakebase legújabb verziója automatikus skálázási számítással, nullára skálázással, elágaztatással és azonnali visszaállítással. A Lakebase Provisioned szolgáltatással való összehasonlításához tekintse meg a verziók közötti választást.

Ez az útmutató segítséget nyújt a Databricks parancssori felületének használatbavételéhez a Lakebase-projektek, ágak és számítások (végpontok) kezeléséhez. Megtudhatja, hogyan hozhat létre egy működő projektet néhány parancsban.

A teljes parancsreferenciát és az összes elérhető lehetőséget a Databricks CLI postgres parancsai között találhatja meg.

Előfeltételek

  • Databricks CLI: Telepítse a Databricks CLI-t. Lásd : A Databricks parancssori felület telepítése.
  • Munkaterület-hozzáférés: Hozzáféréssel kell rendelkeznie egy Azure Databricks-munkaterülethez, ahol a Lakebase-erőforrás található.

Hitelesítés a Databricks használatával

Cli-parancsok futtatása előtt hitelesítse magát az Azure Databricks-munkaterületen:

databricks auth login --host https://your-workspace.cloud.databricks.com

Cserélje le https://your-workspace.cloud.databricks.com a tényleges munkaterület URL-címét. Ez a parancs megnyit egy böngészőablakot az Azure Databricks-fiókkal való hitelesítéshez az OAuth használatával.

Megjegyzés:

Ha több profillal rendelkezik, a --profile jelölő használatával adja meg, hogy melyiket használja: databricks postgres <command> --profile my-profile. A konfigurált profilok megtekintéséhez futtassa a következőt databricks auth profiles: .

További hitelesítési lehetőségekért tekintse meg a Databricks-hitelesítést.

Parancs súgójának lekérése

A parancssori felület beépített segítséget nyújt az összes parancshoz. Az elérhető parancsok és beállítások megtekintésére használható --help .

Tekintse át az összes Postgres-parancsot:

databricks postgres --help

Ez megjeleníti az összes elérhető parancsot, globális jelzőt és információt az erőforrás-elnevezési konvenciókról.

Részletes súgó egy adott parancshoz:

databricks postgres create-project --help

Ez megjeleníti a parancs célját, a szükséges és választható paramétereket, a használati példákat és az elérhető jelzőket.

Rövid útmutató: Az első projekt létrehozása

Az alábbi lépéseket követve hozzon létre egy teljes munkaprojektet egy ággal és számítási végponttal:

1. Projekt létrehozása

Hozzon létre egy új Lakebase-projektet:

databricks postgres create-project my-project \
  --json '{
    "spec": {
      "display_name": "My Lakebase Project"
    }
  }'

Ez a parancs létrehoz egy projektet, és megvárja, amíg befejeződik. A projektazonosító (my-project) a következő erőforrásnév része lesz: projects/my-project. A projekt egy alapértelmezett éles ággal és egy olvasásra és írásra is alkalmas számítási végponttal jön létre, mindkettő automatikusan generált azonosítókkal.

Ha szeretné, exportálja a projektazonosítót változóként a következő parancsokban való használathoz:

export PROJECT_ID="my-project"

2. Az ágazonosító lekérése

A projektben található ágak listázása az alapértelmezett ágazonosító megkereséséhez:

databricks postgres list-branches projects/$PROJECT_ID

Ez a projekt összes ágáról ad vissza információt. Keresse meg azt az ágat, amelyiknek az állapota "default": true. Jegyezze fel a name mező ágazonosítóját (például br-divine-sea-y2k942xa).

Ha szeretné, exportálja az ágazonosítót változóként a következő parancsokban való használatra:

export BRANCH_ID="br-divine-sea-y2k942xa"

Cserélje le br-divine-sea-y2k942xa a listakimenetből származó tényleges alapértelmezett ágazonosítóra.

3. A végpont azonosítójának lekérése

Listázhatja az ág végpontjait. Az alapértelmezett ág automatikusan tartalmaz olvasási-írási végpontot:

databricks postgres list-endpoints projects/$PROJECT_ID/branches/$BRANCH_ID

Jegyezze fel a mező végpontazonosítóját name . Formátuma projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id} lesz. Bontsa ki a végpontazonosítót (például ep-plain-sunset-y2vc0zan) és exportálja változóként:

export ENDPOINT_ID="ep-plain-sunset-y2vc0zan"

Cserélje le ep-plain-sunset-y2vc0zan a lista kimenetéből származó tényleges végpontazonosítóra.

4. Adatbázis hitelesítő adatainak létrehozása

Hitelesítő adatok létrehozása az adatbázishoz való csatlakozáshoz:

databricks postgres generate-database-credential \
  projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID

A parancs egy OAuth-jogkivonatot ad vissza, amelyet PostgreSQL-ügyfelekkel, például a psql használhat a Databricks-identitással való hozzáféréshez az adatokhoz. A psql-hez való csatlakozással kapcsolatos részletes útmutatásért lásd: Csatlakozás a psql-lel. A jogkivonatok lejáratáról és hitelesítéséről további információt a Hitelesítés című témakörben talál.

Erőforrások kezelése

Az összes projekt listázása

A munkaterületen található összes projekt listázása:

databricks postgres list-projects

Ez adatokat ad vissza az egyes projektekről, beleértve a nevét, a megjelenített nevet, az aktuális állapotot és a létrehozási/frissítési időbélyegeket.

Erőforrás részleteinek lekérése

Részletes információk a projektről:

databricks postgres get-project projects/$PROJECT_ID

Ez részletes projektkonfigurációt ad vissza, beleértve a megjelenítendő nevet, a PostgreSQL-verziót, a tulajdonost, az előzménymegőrzési időszakot, az ágméretkorlátokat, az alapértelmezett végpontbeállításokat, a tárterület méretét és a létrehozási/frissítési időbélyegeket.

Részletes információk az ágról:

databricks postgres get-branch projects/$PROJECT_ID/branches/$BRANCH_ID

Ez részletes áginformációkat ad vissza, beleértve az aktuális állapotot, az alapértelmezett ág állapotát, a védelmi állapotot, a logikai méretet, a forráság részleteit (ha egy másik ágból elágaznak), valamint létrehozási/frissítési időbélyegeket.

Részletes információk a végpontokról:

databricks postgres get-endpoint projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID

Ez visszaadja a részletes végpont konfigurációt, beleértve a végpont típusát (írás-olvasás vagy írásvédett), az automatikus skálázási beállításokat (minimális és maximális számítási egységek), az aktuális állapotot (AKTÍV, TÉTLEN stb.), a csatlakozási gazdagépet, a felfüggesztési időkorlát, valamint a létrehozási/frissítési időpontokat.

Erőforrások frissítése

Az erőforrást frissítse a frissítési maszk mintájával. A frissítési maszk megadja, hogy mely mezőket kell frissíteni:

databricks postgres update-branch \
  projects/$PROJECT_ID/branches/$BRANCH_ID \
  spec.is_protected \
  --json '{
    "spec": {
      "is_protected": true
    }
  }'

Ez a példa spec.is_protected-t true-re állítja be, így az ág védett lesz. A frissítési maszk (spec.is_protected) közli az API-val, hogy melyik mező frissüljön. A parancs visszaadja a frissített erőforrást, amely az új értéket és a frissített update_time időbélyeget jeleníti meg.

Több mező frissítéséhez használjon vesszővel tagolt listát:

databricks postgres update-endpoint \
  projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID \
  "spec.autoscaling_limit_min_cu,spec.autoscaling_limit_max_cu" \
  --json '{
    "spec": {
      "autoscaling_limit_min_cu": 1.0,
      "autoscaling_limit_max_cu": 8.0
    }
  }'

Gyakori munkafolyamatok

HU-HU: Funkcióág létrehozása a production ágból

Hozzon létre egy új ágat egy meglévő ág alapján a módosítások teszteléséhez. Amikor megad egy source_branch, az új ág ugyanazokkal a sémával és adatokkal fog rendelkezni, mint a forráság a létrehozáskor. Cserélje le a projekt- és ágazonosítókat a tényleges értékekre:

databricks postgres create-branch \
  projects/my-project \
  feature \
  --json '{
    "spec": {
      "source_branch": "projects/my-project/branches/br-divine-sea-y2k942xa",
      "no_expiry": true
    }
  }'

Megjegyzés:

Ág létrehozásakor meg kell adnia egy lejárati szabályzatot. Állandó ág létrehozásához használható no_expiry: true .

Ha JSON-specifikáción belül (mint $PROJECT_ID vagy $BRANCH_ID) szeretne shell változókat használni, akkor dupla idézőjeleket kell használnia az --json értékéhez, és ki kell kerülni a belső idézőjeleket.

A funkcióágnak írás-olvasás feldolgozó végpontra van szüksége az adatbázis-műveletek engedélyezéséhez.

databricks postgres create-endpoint \
  projects/$PROJECT_ID/branches/feature \
  primary \
  --json '{
    "spec": {
      "endpoint_type": "ENDPOINT_TYPE_READ_WRITE",
      "autoscaling_limit_min_cu": 0.5,
      "autoscaling_limit_max_cu": 2.0
    }
  }'

Miután elvégezte a fejlesztést és a tesztelést a funkcióágon, törölheti azt:

databricks postgres delete-branch projects/$PROJECT_ID/branches/feature

Megjegyzés:

A törlési parancsok azonnal visszatérnek, de a tényleges törlés végrehajtása időbe telhet. A törlést a megfelelő get resource parancs futtatásával ellenőrizheti, amely hibát ad vissza az erőforrás teljes törlése után.

Az olvasási folyamatok skálázása replikákkal

Olvasási replikák hozzáadása a megnövekedett olvasási forgalom kezeléséhez. Ez a példa egy olvasási másolatot ad hozzá az alapértelmezett gyártási ághez:

databricks postgres create-endpoint \
  projects/$PROJECT_ID/branches/$BRANCH_ID \
  read-replica-1 \
  --json '{
    "spec": {
      "endpoint_type": "ENDPOINT_TYPE_READ_ONLY",
      "autoscaling_limit_min_cu": 0.5,
      "autoscaling_limit_max_cu": 4.0
    }
  }'

Több olvasási replikát is létrehozhat különböző végpontazonosítókkal (read-replica-1read-replica-2stb.) az olvasási számítási feladatok elosztásához.

A legfontosabb fogalmak ismertetése

Hosszú ideig futó műveletek

A parancsok létrehozása, frissítése és törlése hosszú ideig futó műveletek. Alapértelmezés szerint a parancssori felület megvárja a művelet befejezését. Segítségével --no-wait azonnal visszatérhet, és külön kérdezheti le az állapotot:

databricks postgres create-project $PROJECT_ID \
  --json '{"spec": {"display_name": "My Project"}}' \
  --no-wait

A művelet állapotának lekérdezése:

databricks postgres get-operation projects/$PROJECT_ID/operations/operation-id

Erőforrások elnevezése

A Lakebase hierarchikus erőforrásneveket használ:

  • Projektek: projects/{project_id}. Projekt létrehozásakor meg kell adnia a projekt azonosítóját.
  • Ágak: projects/{project_id}/branches/{branch_id}. Az ág létrehozásakor meg kell adnia az ág azonosítóját.
  • Végpontok: projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}. A végpont létrehozásakor meg kell adnia a végpont azonosítóját (például primary vagy read-replica-1).

A azonosítóknak 1–63 karakter hosszúságúnak kell lenniük, kisbetűvel kell kezdődniük, és csak kisbetűket, számokat és kötőjeleket tartalmazhatnak.

Maszkok frissítése

A frissítési parancsok frissítési maszkot igényelnek, amely meghatározza, hogy mely mezőket kell módosítani. A maszk egy mező elérési út, például spec.display_name, vagy több mező esetén vesszővel elválasztott lista.

A --json payload ezeknek a mezőknek az új értékeit tartalmazza. Csak a frissítési maszkban felsorolt mezők módosulnak.

Következő lépések