다음을 통해 공유


Unity 카탈로그에 데이터베이스 등록

중요합니다

프로비저닝된 Lakebase는 다음 지역에서 공개 미리 보기로 제공됩니다. westuswestus2eastuseastus2centralussouthcentralusnortheuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindiasoutheastasiauksouth

Lakebase Provisioned는 수동으로 크기를 조정하는 프로비전된 컴퓨팅을 사용합니다. 새로운 Lakebase 자동 크기 조정과 기능 비교를 보려면 버전 중에서 선택을 참조하세요.

이 페이지에서는 Lakebase 데이터베이스를 읽기 전용 Unity 카탈로그 카탈로그로 등록하는 방법을 설명합니다. 이를 통해 Unity 카탈로그 권한을 사용하여 데이터 액세스를 관리하고 관리되는 데이터 동기화와 같은 통합을 활용할 수 있습니다.

소유권 및 권한

  • 데이터베이스가 으면 카탈로그와 함께 만들 수 있습니다. 이 경우 개체의 소유권은 다음 지침을 따릅니다.
  • 카탈로그 작성자는 Unity 카탈로그 메타스토어에 대한 권한을 추가로 가져야 CREATE CATALOG 합니다.

카탈로그 만들기

Unity 카탈로그에 데이터베이스를 등록하려면 Azure Databricks UI, API 호출, Python SDK 또는 CLI를 사용합니다.

사용자 인터페이스 (UI)

  1. 앱 아이콘 을 클릭합니다.오른쪽 위 모서리에 있는 에서 Lakebase Postgres를 선택합니다.
  2. 프로비전된 인스턴스 페이지를 열려면 프로비전됨을 클릭합니다.
  3. 데이터베이스 인스턴스를 선택합니다.
  4. Lakebase 앱 사이드바에서 카탈로그 페이지를 선택합니다.
  5. 오른쪽 위에서 카탈로그 추가 를 클릭합니다.
  6. 카탈로그 추가 대화 상자에서 다음을 수행합니다.
    • 카탈로그 이름: 원하는 Unity 카탈로그 카탈로그 이름을 입력합니다.
    • Postgres 데이터베이스: 드롭다운 메뉴에서 기존 Postgres 데이터베이스를 선택하거나(예 databricks_postgres:) 새 데이터베이스 이름을 입력하여 카탈로그와 함께 만듭니다.
  7. 만들기를 클릭합니다.
  8. 만든 후 카탈로그 목록에서 카탈로그를 클릭하여 카탈로그 탐색기 보기를 확인 합니다 .

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 카탈로그 권한이 있지만 테이블 내용에 액세스할 수 없는 경우 카탈로그 탐색기에서 이러한 테이블을 볼 수 있습니다.

데이터베이스 카탈로그를 통해 Unity 카탈로그에서 Postgres 개체 탐색

카탈로그를 보려면 실행 중인 서버리스 SQL 웨어하우스가 연결되어 있는지 확인합니다.

  1. 작업 영역 사이드바에서 카탈로그 를 클릭합니다.
  2. 카탈로그 브라우저에서 클러스터를 클릭하고 실행 중인 서버리스 SQL 웨어하우스를 컴퓨팅 리소스로 선택합니다.
  3. 시작을 클릭하고 닫습니다.

카탈로그, 스키마 및 테이블을 열면 동기화가 자동으로 트리거됩니다. 그러나 UI는 Postgres 요청 수를 줄이기 위해 데이터를 캐시할 수 있으므로 새 개체가 즉시 표시되지 않을 수 있습니다.

전체 새로 고침을 트리거하려면 스키마 새로 고침 아이콘을 클릭합니다.

Unity 카탈로그에서 데이터베이스 카탈로그 삭제

삭제하려면 데이터베이스 카탈로그의 소유자 또는 메타스토어 관리자여야 합니다.

Databricks는 먼저 데이터베이스 카탈로그에서 동기화된 모든 테이블을 삭제하는 것이 좋습니다. 각 원본 테이블은 20개의 동기화된 테이블을 만드는 데만 사용할 수 있으며, 데이터베이스 카탈로그를 삭제한 후 Unity 카탈로그에서 동기화된 테이블을 정리하는 데 최대 3일이 걸릴 수 있습니다. Unity 카탈로그에서 삭제 보류 중인 동기화된 테이블은 원본 테이블 제한당 동기화된 테이블 20개에 해당합니다.

Azure Databricks UI, Python SDK, CLI 또는 API를 사용하여 데이터베이스 카탈로그를 삭제합니다.

사용자 인터페이스 (UI)

  1. 앱 아이콘 을 클릭합니다.오른쪽 위 모서리에 있는 에서 Lakebase Postgres를 선택합니다.
  2. 프로비전된 인스턴스 페이지를 열려면 프로비전됨을 클릭합니다.
  3. 데이터베이스 인스턴스를 선택합니다.
  4. Lakebase 앱 사이드바에서 카탈로그 페이지를 선택합니다.
  5. 삭제할 카탈로그의 경우 행의 오른쪽에 있는 Kebab 메뉴 아이콘 을 클릭합니다.
  6. 삭제를 클릭합니다.

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 데이터베이스의 이름을 바꾸거나 삭제할 수 있습니다.