중요합니다
이 기능은 다음 지역의 공개 미리 보기에 있습니다. westuswestus2eastuseastus2centralussouthcentralusnortheuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindiasoutheastasiauksouth
이 페이지에서는 Lakebase 데이터베이스를 읽기 전용 Unity 카탈로그 카탈로그로 등록하는 방법을 설명합니다. 이를 통해 Unity 카탈로그 권한을 사용하여 데이터 액세스를 관리하고 관리되는 데이터 동기화와 같은 통합을 활용할 수 있습니다.
소유권 및 권한
- 데이터베이스가 없 으면 카탈로그와 함께 만들 수 있습니다. 이 경우 개체의 소유권은 다음 지침을 따릅니다.
- 카탈로그 작성자는 Unity 카탈로그 메타스토어에 대한 권한을 추가로 가져야
CREATE CATALOG합니다.
카탈로그 만들기
Unity 카탈로그에 데이터베이스를 등록하려면 Azure Databricks UI, API 호출, Python SDK 또는 CLI를 사용합니다.
사용자 인터페이스 (UI)
- 작업 영역 사이드바에서 컴퓨팅을 클릭합니다.
- 데이터베이스 인스턴스 탭에서 데이터베이스 인스턴스를 선택합니다.
- 카탈로그 탭에서 카탈로그 만들기를 클릭합니다.
- 기존 데이터베이스를 Unity 카탈로그 카탈로그로 등록하거나 새 데이터베이스를 만들 수 있습니다. 다음 옵션 중 하나를 사용합니다.
- 기존 데이터베이스를 사용하려면 원하는 Unity 카탈로그 카탈로그 이름과 기존 Postgres 데이터베이스의 이름을 입력합니다. 기본 데이터베이스를 데이터베이스
databricks_postgres이름으로 사용할 수 있습니다. - 새 Postgres 데이터베이스와 Unity 카탈로그 카탈로그를 동시에 만들려면 원하는 카탈로그 이름을 입력하고 새 데이터베이스 만들기를 켭니다.
- 기존 데이터베이스를 사용하려면 원하는 Unity 카탈로그 카탈로그 이름과 기존 Postgres 데이터베이스의 이름을 입력합니다. 기본 데이터베이스를 데이터베이스
- 만들기를 클릭합니다.
- 만든 후 카탈로그 목록에서 카탈로그를 클릭하여 카탈로그 탐색기 보기를 확인 합니다 .
Python SDK
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseCatalog
# Initialize the Workspace client
w = WorkspaceClient()
# Register an existing database as a UC catalog
catalog = w.database.create_database_catalog(
DatabaseCatalog(
name="my_catalog", # Name of the UC catalog to create
database_instance_name="my-instance", # Name of the database instance
database_name="databricks_postgres", # Name of the existing Postgres database
)
)
print(f"Created database catalog: {catalog.name}")
# Create a new database and register it as a UC catalog
catalog = w.database.create_database_catalog(
DatabaseCatalog(
name="new_catalog", # Name of the UC catalog to create
database_instance_name="my-instance", # Name of the database instance
database_name="new_database", # Name of the Postgres database to register (and optionally create)
create_database_if_not_exists=True # Create the database if it doesn't exist
)
)
print(f"Created new database and catalog: {catalog.name}")
CLI
# Register an existing database as a UC catalog
databricks database create-database-catalog my_catalog my-instance databricks_postgres
# Create a new database and register it as a UC catalog
databricks database create-database-catalog new_catalog my-instance new_database \
--create-database-if-not-exists
curl
export PG_DATABASE_NAME="<name of the PG database to sync to UC>"
export CATLAOG_NAME="<name of UC catalog to create>"
// Optional
export CREATE_DATABASE_IF_NOT_EXISTS="<whether to create a new database>"
curl -X POST --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/catalogs \
--data-binary @- << EOF
{
"name": "$CATALOG_NAME",
"database_name": "$PG_DATABASE_NAME",
"instance_name": "$INSTANCE_NAME",
"create_database_if_not_exists": "$CREATE_DATABASE_IF_NOT_EXISTS" // optional
}
제한점
- 데이터베이스 이름은 영숫자 또는 밑줄 문자만 포함해야 합니다. 데이터베이스 이름에는 하이픈을 포함할 수 없습니다.
- 데이터베이스를 기반으로 Unity 카탈로그에서 만든 카탈로그는 읽기 전용입니다.
데이터베이스 카탈로그를 통해 Unity 카탈로그에서 Postgres 개체 탐색
카탈로그를 보려면 실행 중인 서버리스 SQL 웨어하우스가 연결되어 있는지 확인합니다.
- 작업 영역 사이드바에서 카탈로그 를 클릭합니다.
- 카탈로그 브라우저에서 클러스터를 클릭하고 실행 중인 서버리스 SQL 웨어하우스를 컴퓨팅 리소스로 선택합니다.
- 시작을 클릭하고 닫습니다.
카탈로그, 스키마 및 테이블을 열면 동기화가 자동으로 트리거됩니다. 그러나 UI는 Postgres 요청 수를 줄이기 위해 데이터를 캐시할 수 있으므로 새 개체가 즉시 표시되지 않을 수 있습니다.
전체 새로 고침을 트리거하려면
을 클릭합니다.
Unity 카탈로그에서 데이터베이스 카탈로그 삭제
삭제하려면 데이터베이스 카탈로그의 소유자 또는 메타스토어 관리자여야 합니다.
Databricks는 먼저 데이터베이스 카탈로그에서 동기화된 모든 테이블을 삭제하는 것이 좋습니다. 각 원본 테이블은 20개의 동기화된 테이블을 만드는 데만 사용할 수 있으며, 데이터베이스 카탈로그를 삭제한 후 Unity 카탈로그에서 동기화된 테이블을 정리하는 데 최대 3일이 걸릴 수 있습니다. Unity 카탈로그에서 삭제 보류 중인 동기화된 테이블은 원본 테이블 제한당 동기화된 테이블 20개에 해당합니다.
Azure Databricks UI, Python SDK, CLI 또는 API를 사용하여 데이터베이스 카탈로그를 삭제합니다.
사용자 인터페이스 (UI)
- 작업 영역 사이드바에서 카탈로그 를 클릭합니다.
- 카탈로그 창에서 삭제할 데이터베이스 카탈로그 를 선택합니다.
-
을 클릭하고 삭제를 클릭합니다.
Python SDK
from databricks.sdk import WorkspaceClient
# Initialize the Workspace client
w = WorkspaceClient()
# Delete a database catalog
catalog_name = "my_catalog"
w.database.delete_database_catalog(name=catalog_name)
print(f"Deleted database catalog: {catalog_name}")
CLI
# Delete a database catalog
databricks database delete-database-catalog my_catalog
curl
curl -X DELETE --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/catalogs/$CATALOG_NAME
카탈로그가 삭제되면 Postgres 데이터베이스의 이름을 바꾸거나 삭제할 수 있습니다.