Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Skalowanie automatyczne bazy danych Lakebase znajduje się w wersji beta w następujących regionach: eastus2, westeurope, westus.
Autoskalowanie bazy danych Lakebase to najnowsza wersja bazy danych Lakebase z automatycznym skalowaniem obliczeniowym, skalowaniem do zera, rozgałęzianiem i natychmiastowym przywracaniem. Aby zapoznać się z porównaniem funkcji z Lakebase Provisioned, sprawdź wybieranie między wersjami.
Ten przewodnik ułatwia rozpoczęcie pracy z interfejsem wiersza polecenia usługi Databricks w celu zarządzania projektami, gałęziami i obliczeniami usługi Lakebase (punktami końcowymi). Dowiesz się, jak utworzyć projekt roboczy w kilku poleceniach.
Aby uzyskać pełną dokumentację poleceń i wszystkie dostępne opcje, zobacz polecenia postgres CLI Databricks.
Wymagania wstępne
- Interfejs wiersza polecenia usługi Databricks: zainstaluj interfejs wiersza polecenia usługi Databricks. Zobacz Zainstaluj Databricks CLI.
- Dostęp do obszaru roboczego: musisz mieć dostęp do obszaru roboczego usługi Azure Databricks, w którym znajduje się zasób usługi Lakebase.
Uwierzytelnianie za pomocą usługi Databricks
Przed uruchomieniem jakichkolwiek poleceń CLI uwierzytelnij się w Azure Databricks.
databricks auth login --host https://your-workspace.cloud.databricks.com
Zastąp https://your-workspace.cloud.databricks.com swoim rzeczywistym adresem URL obszaru roboczego. To polecenie otwiera okno przeglądarki służące do uwierzytelniania przy użyciu konta usługi Azure Databricks przy użyciu protokołu OAuth.
Uwaga / Notatka
Jeśli masz wiele profilów, użyj flagi --profile , aby określić, która z nich ma być używana: databricks postgres <command> --profile my-profile. Aby wyświetlić skonfigurowane profile, uruchom polecenie databricks auth profiles.
Aby uzyskać więcej opcji uwierzytelniania, zobacz Uwierzytelnianie w usłudze Databricks.
Uzyskiwanie pomocy dotyczącej poleceń
CLI oferuje wbudowaną pomoc dla wszystkich poleceń. Użyj --help polecenia , aby wyświetlić dostępne polecenia i opcje.
Zapoznaj się z omówieniem wszystkich poleceń bazy danych Postgres:
databricks postgres --help
Spowoduje to wyświetlenie wszystkich dostępnych poleceń, flag globalnych i informacji na temat konwencji nazewnictwa zasobów.
Uzyskaj szczegółową pomoc dotyczącą określonego polecenia:
databricks postgres create-project --help
Spowoduje to wyświetlenie przeznaczenia polecenia, wymaganych i opcjonalnych parametrów, przykładów użycia i dostępnych flag.
Szybki start: tworzenie pierwszego projektu
Wykonaj następujące kroki, aby utworzyć kompletny projekt roboczy z gałęzią i punktem końcowym obliczeniowym:
1. Tworzenie projektu
Utwórz nowy projekt Lakebase:
databricks postgres create-project my-project \
--json '{
"spec": {
"display_name": "My Lakebase Project"
}
}'
To polecenie tworzy projekt i czeka na jego ukończenie. Identyfikator projektu (my-project) staje się częścią nazwy zasobu: projects/my-project. Projekt jest tworzony z domyślną gałęzią produkcyjną i punktem końcowym obliczeniowym odczytu i zapisu, zarówno z automatycznie wygenerowanymi identyfikatorami.
Opcjonalnie wyeksportuj identyfikator projektu jako zmienną do użycia w kolejnych poleceniach:
export PROJECT_ID="my-project"
2. Pobierz identyfikator gałęzi
Wyświetl listę gałęzi w projekcie, aby znaleźć domyślny identyfikator gałęzi:
databricks postgres list-branches projects/$PROJECT_ID
Spowoduje to zwrócenie informacji o wszystkich gałęziach w projekcie. Wyszukaj gałąź, której status to "default": true. Zanotuj identyfikator gałęzi z name pola (na przykład br-divine-sea-y2k942xa).
Opcjonalnie wyeksportuj identyfikator gałęzi jako zmienną do użycia w kolejnych poleceniach:
export BRANCH_ID="br-divine-sea-y2k942xa"
Zastąp br-divine-sea-y2k942xa rzeczywistym identyfikatorem domyślnej gałęzi z danych wyjściowych listy.
3. Pobieranie identyfikatora punktu końcowego
Wyświetl listę punktów końcowych w gałęzi. Gałąź domyślna automatycznie zawiera punkt końcowy odczytu i zapisu:
databricks postgres list-endpoints projects/$PROJECT_ID/branches/$BRANCH_ID
Zanotuj identyfikator punktu końcowego z pola name. Będzie on mieć format projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}. Wyodrębnij identyfikator punktu końcowego (na przykład ep-plain-sunset-y2vc0zan) i opcjonalnie wyeksportuj go jako zmienną:
export ENDPOINT_ID="ep-plain-sunset-y2vc0zan"
Zastąp ep-plain-sunset-y2vc0zan rzeczywistym identyfikatorem punktu końcowego z listy wyników.
4. Generowanie poświadczeń bazy danych
Wygeneruj poświadczenia, aby nawiązać połączenie z bazą danych:
databricks postgres generate-database-credential \
projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID
Polecenie zwraca token OAuth, którego można używać z klientami PostgreSQL, takimi jak psql, aby uzyskać dostęp do danych przy użyciu swojej tożsamości w Databricks. Aby uzyskać instrukcje krok po kroku dotyczące nawiązywania połączenia z bazą danych psql, zobacz Connect with psql (Nawiązywanie połączenia za pomocą narzędzia psql). Aby uzyskać więcej informacji na temat wygasania i uwierzytelniania tokenów, zobacz Uwierzytelnianie.
Zarządzanie zasobami
Wyświetl listę wszystkich projektów
Wyświetl listę wszystkich projektów w obszarze roboczym:
databricks postgres list-projects
Zwraca informacje o każdym projekcie, w tym jego nazwę, nazwę wyświetlaną, bieżący stan i znaczniki czasu tworzenia/aktualizacji.
Pobierz szczegóły zasobu
Uzyskaj szczegółowe informacje o projekcie:
databricks postgres get-project projects/$PROJECT_ID
Zwraca on szczegółową konfigurację projektu, w tym nazwę wyświetlaną, wersję bazy danych PostgreSQL, właściciel, okres przechowywania historii, limity rozmiaru gałęzi, domyślne ustawienia punktu końcowego, rozmiar magazynu i znaczniki czasu tworzenia/aktualizacji.
Uzyskaj szczegółowe informacje o gałęzi:
databricks postgres get-branch projects/$PROJECT_ID/branches/$BRANCH_ID
Zwraca to szczegółowe informacje o gałęzi, w tym bieżący stan, stan domyślnej gałęzi, stan ochrony, rozmiar logiczny, szczegóły gałęzi źródłowej (jeśli rozgałęzione z innej gałęzi) i sygnatury czasowe tworzenia/aktualizacji.
Uzyskaj szczegółowe informacje o punkcie końcowym:
databricks postgres get-endpoint projects/$PROJECT_ID/branches/$BRANCH_ID/endpoints/$ENDPOINT_ID
Zwraca szczegółową konfigurację punktu końcowego, w tym typ punktu końcowego (odczyt-zapis lub tylko do odczytu), ustawienia automatycznego skalowania (minimalna i maksymalna liczba jednostek obliczeniowych), bieżący stan (ACTIVE, IDLE itp.), hosta połączenia, limit czasu zawieszenia oraz sygnatury czasowe tworzenia/aktualizacji.
Aktualizowanie zasobów
Zaktualizuj zasób przy użyciu wzorca maski aktualizacji. Maska aktualizacji określa, które pola mają być aktualizowane:
databricks postgres update-branch \
projects/$PROJECT_ID/branches/$BRANCH_ID \
spec.is_protected \
--json '{
"spec": {
"is_protected": true
}
}'
W tym przykładzie ustawiono wartość spec.is_protectedtrue, dzięki czemu gałąź jest chroniona. Maska aktualizacji (spec.is_protected) informuje interfejs API, które pole ma być aktualizowane. Polecenie zwraca zaktualizowany zasób z nową wartością i zaktualizowaną update_time sygnaturą czasową.
Aby zaktualizować wiele pól, użyj listy rozdzielanej przecinkami:
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
}
}'
Typowe przepływy pracy
Utwórz gałąź funkcjonalną z produkcji
Utwórz nową gałąź na podstawie istniejącej gałęzi, aby przetestować zmiany. Po określeniu source_branch, nowa gałąź będzie miała ten sam schemat i dane co gałąź źródłowa podczas tworzenia. Zastąp identyfikatory projektów i gałęzi rzeczywistymi wartościami:
databricks postgres create-branch \
projects/my-project \
feature \
--json '{
"spec": {
"source_branch": "projects/my-project/branches/br-divine-sea-y2k942xa",
"no_expiry": true
}
}'
Uwaga / Notatka
Podczas tworzenia gałęzi należy określić zasady wygasania. Użyj no_expiry: true, aby utworzyć gałąź stałą.
Aby użyć zmiennych powłoki wewnątrz specyfikacji JSON (na przykład $PROJECT_ID lub $BRANCH_ID), należy użyć podwójnych cudzysłowów dla --json wartości i uciec od cudzysłowów wewnętrznych.
Gałąź funkcji wymaga punktu końcowego obliczeniowego odczytu i zapisu, aby umożliwić wykonywanie operacji bazy danych:
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
}
}'
Po ukończeniu programowania i testowania w gałęzi funkcji możesz ją usunąć:
databricks postgres delete-branch projects/$PROJECT_ID/branches/feature
Uwaga / Notatka
Polecenia usuwania są zwracane natychmiast, ale rzeczywiste usunięcie może zająć trochę czasu. Usunięcie można zweryfikować, uruchamiając odpowiednie polecenie get resource, które zwraca błąd po pełnym usunięciu zasobu.
Skaluj odczyty za pomocą replik odczytowych.
Dodaj repliki do odczytu, aby obsługiwać zwiększony ruch odczytu. W tym przykładzie dodano replikę do odczytu do domyślnej gałęzi produkcyjnej:
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
}
}'
Możesz utworzyć wiele replik do odczytu z różnymi identyfikatorami punktów końcowych (read-replica-1, read-replica-2itp.), aby dystrybuować obciążenia odczytu.
Opis kluczowych pojęć
Długotrwałe operacje
Polecenia tworzenia, aktualizowania i usuwania są długotrwałymi operacjami. Domyślnie CLI czeka na zakończenie operacji. Użyj polecenia --no-wait, aby natychmiast wrócić i sondować stan oddzielnie.
databricks postgres create-project $PROJECT_ID \
--json '{"spec": {"display_name": "My Project"}}' \
--no-wait
Sonduj stan operacji:
databricks postgres get-operation projects/$PROJECT_ID/operations/operation-id
Nazewnictwo zasobów
Usługa Lakebase używa hierarchicznych nazw zasobów:
-
Projekty:
projects/{project_id}. Identyfikator projektu należy określić podczas tworzenia projektu. -
Gałęzie:
projects/{project_id}/branches/{branch_id}. Identyfikator gałęzi należy określić podczas tworzenia gałęzi. -
Punkty końcowe:
projects/{project_id}/branches/{branch_id}/endpoints/{endpoint_id}. Identyfikator punktu końcowego (na przykładprimarylubread-replica-1) należy określić podczas tworzenia punktu końcowego.
Identyfikatory muszą mieć długość od 1 do 63 znaków, zaczynać się od małej litery i zawierać tylko małe litery, cyfry i łączniki.
Aktualizuj maski
Polecenia aktualizacji wymagają maski aktualizacji określającej, które pola mają być modyfikowane. Maska jest ścieżką pola, na przykład spec.display_name lub listą rozdzielaną przecinkami dla wielu pól.
--json Ładunek zawiera nowe wartości dla tych pól. Modyfikowane są tylko pola wymienione w masce aktualizacji.