CREATE CATALOG

적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks Runtime 10.4 LTS 이상 검사 '예'로 표시 Unity 카탈로그만 해당

지정된 이름으로 카탈로그를 작성합니다. 동일한 이름의 카탈로그가 이미 존재하는 경우 예외가 throw됩니다.

카탈로그를 FOREIGN 만들면 인증 사용자에게 표시되는 모든 스키마와 테이블로 채워집니다.

구문

CREATE CATALOG [ IF NOT EXISTS ] catalog_name
    [ USING SHARE provider_name . share_name ]
    [ MANAGED LOCATION 'location_path' ]
    [ COMMENT comment ]

CREATE FOREIGN CATALOG [ IF NOT EXISTS ] catalog_name
    USING CONNECTION connection_name
    [ COMMENT comment ]
    OPTIONS ( { option_name = option_value } [ , ... ] )

매개 변수

  • 외국

    적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks Runtime 13.3 LTS 이상

    CONNECTION에서 카탈로그를 가져오게 지정합니다.

  • IF NOT EXISTS

    존재하지 않는 경우 지정된 이름으로 카탈로그를 만듭니다. 같은 이름의 카탈로그가 이미 있는 경우 아무 일도 일어나지 않습니다.

  • catalog_name

    만들 카탈로그의 이름입니다.

  • USING SHARE provider_name.share_name

    선택적으로 카탈로그가 Delta Sharing 공유을 기반으로 하도록 지정합니다.

  • 관리되는 위치 'location_path'

    필요에 따라 메타스토어의 루트 스토리지 위치와 다른 카탈로그의 관리되는 스토리지 위치에 대한 경로를 지정합니다. 이 경로는 외부 위치 구성에서 정의되어야 하며 외부 위치 구성에 대한 CREATE MANAGED STORAGE 권한이 있어야 합니다. 외부 위치 구성에 정의된 경로 또는 하위 경로(즉, 'abfss://container@storageaccount.dfs.core.windows.net/finance' 또는 'abfss://container@storageaccount.dfs.core.windows.net/finance/product')를 사용할 수 있습니다. Databricks SQL 또는 Databricks Runtime 11.3 LTS 이상을 실행하는 클러스터에서 지원됩니다.

    관리되는 테이블 및 Unity 카탈로그 메타스토어 만들기도 참조하세요.

  • 연결 connection_name 사용

    원본 카탈로그가 있는 연결을 지정합니다.

  • comment

    선택적 STRING 리터럴입니다. 카탈로그에 대한 설명입니다.

  • OPTIONS

    연결에서 카탈로그를 식별하는 데 필요한 연결 유형별 매개 변수를 설정합니다.

    • 옵션

      옵션 키입니다. 키는 점 또는 STRING 리터럴로 구분된 하나 이상의 식별자로 구성될 수 있습니다.

      옵션 키는 고유해야 하며 대/소문자를 구분해야 합니다.

    • value

      옵션의 값입니다. 값은 , STRING, INTEGER또는 DECIMAL 상수 식이어야 합니다BOOLEAN. 값은 SQL 함수에 대한 SECRET 호출일 수도 있습니다. 예를 들어 for passwordvalue 리터럴 암호를 입력하는 대신 구성할 secret('secrets.r.us', 'postgresPassword') 수 있습니다.

예제

-- Create catalog `customer_cat`. This throws exception if catalog with name customer_cat
-- already exists.
> CREATE CATALOG customer_cat;

-- Create catalog `customer_cat` only if catalog with same name doesn't exist.
> CREATE CATALOG IF NOT EXISTS customer_cat;

-- Create catalog `customer_cat` only if catalog with same name doesn't exist, with a comment.
> CREATE CATALOG IF NOT EXISTS customer_cat COMMENT 'This is customer catalog';

-- Create a catalog from a Delta Sharing share.
> CREATE CATALOG customer_cat USING SHARE cdc.vaccinedata;

-- Create a catalog with a different managed storage location than the metastore's.
> CREATE CATALOG customer_cat MANAGED LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/finance';

-- Create a foreign catalog linked to postgresdb at postgresql_connection
> CREATE FOREIGN CATALOG postgresql_catalog
     USING CONNECTION postgresql_connection
     OPTIONS (database 'postgresdb');