BigLake Metastore를 사용한 오픈소스 메타데이터 관리

BigLake Metastore는 Google Cloud의 데이터 분석 제품을 위한 통합 물리적 메타데이터 서비스입니다. BigLake Metastore는 메타데이터에 대한 단일 정보 소스를 제공하며, 이를 사용하면 여러 소스의 데이터를 관리하고 액세스할 수 있습니다. BigQuery 및 Dataproc의 다양한 개방형 데이터 처리 엔진에서 BigLake Metastore에 액세스할 수 있으므로 데이터 분석가 및 엔지니어에게 유용한 도구입니다.

비즈니스 메타데이터 관리는 Dataplex를 참조하세요.

BigLake Metastore 작동 방식

BigLake Metastore는 사용 전에 리소스를 프로비저닝할 필요가 없는 서버리스 서비스입니다. Dataproc 클러스터에서 Hive Metastore의 서버리스 대안으로 사용할 수 있습니다. BigLake Metastore는 Hive 호환 API를 통해 Hive Metastore와 동일한 방식으로 작동하며 추가 단계 없이 BigQuery에서 개방형 형식의 테이블을 즉시 쿼리할 수 있습니다. BigLake Metastore는 Apache Iceberg 테이블만 지원합니다.

BigLake Metastore는 카탈로그, 데이터베이스, 테이블을 관리하기 위해 API, 클라이언트 라이브러리, 데이터 엔진 통합(Apache Spark 등)을 제공합니다.

제한사항

BigLake Metastore에는 다음과 같은 제한사항이 적용됩니다.

  • BigLake Metastore는 Apache Hive 테이블을 지원하지 않습니다.
  • Identity and Access Management(IAM) 역할 및 권한을 프로젝트에만 부여할 수 있습니다. 리소스에 대한 IAM 권한 부여는 지원되지 않습니다.
  • Cloud Monitoring이 지원되지 않습니다.
  • BigLake Metastore 카탈로그 및 데이터베이스에는 다음과 같은 이름 지정 제한사항이 적용됩니다.
    • 이름은 1,024자(영문 기준) 이하여야 합니다.
    • 이름에는 UTF-8 문자(대문자, 소문자), 숫자, 밑줄만 포함할 수 있습니다.
    • 이름은 프로젝트 및 리전 조합마다 고유해야 합니다.
  • BigLake Metastore 테이블은 BigQuery 테이블과 동일한 이름 지정 규칙을 따릅니다. 자세한 내용은 테이블 이름 지정을 참조하세요.

시작하기 전에

BigLake Metastore를 사용하기 전에 결제 및 BigLake API를 사용 설정해야 합니다.

  1. 관리자에게 프로젝트에 대한 서비스 사용량 관리자(roles/serviceusage.serviceUsageAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
  2. Google Cloud 프로젝트에 결제를 사용 설정합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
  3. BigLake API를 사용 설정합니다.

    API 사용 설정하기

필요한 역할

  • BigLake Metastore 리소스를 완전히 제어하려면 BigLake 관리자 역할(roles/biglake.admin)이 필요합니다. BigQuery Spark 커넥터 서비스 계정, Dataproc 서버리스 서비스 계정, 또는 Dataproc VM 서비스 계정을 사용하는 경우 해당 계정에 BigLake 관리자 역할을 부여합니다.
  • BigLake Metastore 리소스에 대한 읽기 전용 액세스 권한을 얻으려면 BigLake 뷰어 역할(roles/biglake.viewer)이 필요합니다. 예를 들어 BigQuery에서 BigLake Metastore 테이블을 쿼리하는 경우 사용자 또는 BigQuery 연결 서비스 계정에 BigLake 뷰어 역할이 있어야 합니다.
  • 연결이 있는 BigQuery 테이블을 만들려면 BigQuery 연결 사용자 역할(roles/bigquery.connectionUser)이 필요합니다. 연결 공유에 대한 자세한 내용은 사용자와 연결 공유를 참조하세요.

사용 사례에 따라 BigLake Metastore를 호출하는 ID가 사용자 또는 서비스 계정일 수 있습니다.

  • 사용자: BigLake Rest API를 직접 호출하거나 BigQuery에서 연결하지 않고 BigQuery Iceberg 테이블을 쿼리하는 경우입니다. BigQuery는 이러한 상황에서 사용자의 사용자 인증 정보를 사용합니다.
  • BigQuery Cloud 리소스 연결: BigQuery에서 연결이 있는 BigQuery Iceberg 테이블을 쿼리하는 경우입니다. BigQuery가 연결 서비스 계정 사용자 인증 정보를 사용하여 BigLake Metastore에 액세스합니다.
  • BigQuery Spark 커넥터: BigQuery Spark 저장 프로시져에서 BigLake Metastore와 함께 Spark를 사용하는 경우입니다. Spark는 Spark 커넥터의 서비스 계정 사용자 인증 정보를 사용하여 BigLake Metastore에 액세스하고 BigQuery 테이블을 만듭니다.
  • Dataproc 서버리스 서비스 계정: Dataproc 서버리스에서 BigLake와 함께 Spark를 사용하는 경우입니다. Spark에서 서비스 계정 사용자 인증 정보를 사용합니다.
  • Dataproc VM 서비스 계정: Dataproc(Dataproc 서버리스 아님)을 사용하는 경우입니다. Apache Spark에서 VM 서비스 계정 사용자 인증 정보를 사용합니다.

권한에 따라 이러한 역할을 직접 부여하거나 관리자에게 부여를 요청할 수 있습니다. 역할 부여에 대한 자세한 내용은 리소스에 대해 부여할 수 있는 역할 보기를 참조하세요.

BigLake Metastore 리소스에 액세스하는 데 필요한 정확한 권한을 알아보려면 필수 권한 섹션을 펼치세요.

필수 권한

  • 모든 읽기 전용 액세스를 위한 프로젝트 수준의 biglake.tables.get: BigQuery Iceberg 테이블에 대한 쿼리는 읽기 전용입니다.
  • 모든 읽기 및 쓰기 권한을 위한 프로젝트 수준의 biglake.{catalogs|databases|tables}.*: 일반적으로 Apache Spark에는 카탈로그, 데이터베이스, 테이블을 만들고 관리하고 볼 수 있는 권한을 포함해 데이터를 읽고 쓸 수 있는 권한이 필요합니다.
  • 연결을 사용하여 BigQuery Iceberg 테이블을 만들기 위한 BigQuery Cloud 리소스 연결 수준 이상의 bigquery.connections.delegate

BigLake Metastore에 연결

다음 섹션에서는 BigLake Metastore에 연결하는 방법을 설명합니다. 이 섹션에서는 다음 메서드의 JAR 파일에 표시된 BigLake Apache Iceberg 카탈로그 플러그인을 설치하고 사용합니다. 카탈로그 플러그인은 Apache Spark와 같은 오픈소스 엔진에서 BigLake Metastore에 연결됩니다.

Dataproc VM과 연결

Dataproc VM을 사용하여 BigLake Metastore에 연결하려면 다음을 수행합니다.

  1. SSH를 사용하여 Dataproc에 연결합니다.
  2. Spark SQL CLI에서 다음 문을 사용하여 Apache Iceberg 커스텀 카탈로그를 설치하고 BigLake Metastore에서 작동하도록 구성합니다.

    spark-sql \
      --packages ICEBERG_SPARK_PACKAGE \
      --jars BIGLAKE_ICEBERG_CATALOG_JAR \
      --conf spark.sql.catalog.SPARK_CATALOG=org.apache.iceberg.spark.SparkCatalog \
      --conf spark.sql.catalog.SPARK_CATALOG.catalog-impl=org.apache.iceberg.gcp.biglake.BigLakeCatalog \
      --conf spark.sql.catalog.SPARK_CATALOG.gcp_project=PROJECT_ID \
      --conf spark.sql.catalog.SPARK_CATALOG.gcp_location=LOCATION \
      --conf spark.sql.catalog.SPARK_CATALOG.blms_catalog=BLMS_CATALOG \
      --conf spark.sql.catalog.SPARK_CATALOG.warehouse=GCS_DATA_WAREHOUSE_FOLDER \
      --conf spark.sql.catalog.SPARK_HMS_CATALOG=org.apache.iceberg.spark.SparkCatalog \
      --conf spark.sql.catalog.SPARK_HMS_CATALOG.type=hive \
      --conf spark.sql.catalog.SPARK_HMS_CATALOG.uri=thrift://HMS_URI:9083
      

다음을 바꿉니다.

  • ICEBERG_SPARK_PACKAGE: 사용할 Spark가 있는 Apache Iceberg의 버전입니다. Dataproc 또는 Dataproc 서버리스 인스턴스의 Spark 버전과 일치하는 Spark 버전을 사용하는 것이 좋습니다. 사용 가능한 Apache Iceberg 버전 목록을 보려면 Apache Iceberg 다운로드를 참조하세요. 예를 들어 Apache Spark 3.3의 플래그는 다음과 같습니다.
    --packages org.apache.iceberg:iceberg-spark-runtime-3.3_2.13-1.2.1
  • BIGLAKE_ICEBERG_CATALOG_JAR: 설치할 Iceberg 커스텀 카탈로그 플러그인의 Cloud Storage URI입니다. 환경에 따라 다음 중 하나를 선택하세요.
    • Iceberg 1.2.0: gs://spark-lib/biglake/biglake-catalog-iceberg1.2.0-0.1.1-with-dependencies.jar
    • Iceberg 0.14.0: gs://spark-lib/biglake/biglake-catalog-iceberg0.14.0-0.1.1-with-dependencies.jar
  • SPARK_CATALOG: Spark의 카탈로그 식별자입니다. BigLake Metastore 카탈로그에 연결됩니다.
  • PROJECT_ID: Spark 카탈로그가 연결되는 BigLake Metastore 카탈로그의 Google Cloud 프로젝트 ID입니다.
  • LOCATION: Spark 카탈로그가 연결되는 BigLake Metastore 카탈로그의 Google Cloud 위치입니다.
  • BLMS_CATALOG: Spark 카탈로그가 연결되는 BigLake Metastore 카탈로그 ID입니다. 카탈로그가 존재하지 않아도 됩니다. Spark에서 카탈로그를 만들 수 있습니다.
  • GCS_DATA_WAREHOUSE_FOLDER: Spark가 모든 파일을 만드는 Cloud Storage 폴더입니다. gs://로 시작됩니다.
  • HMS_DB: (선택사항) 복사할 테이블이 포함된 HMS 데이터베이스입니다.
  • HMS_TABLE: (선택사항) 복사할 HMS 테이블입니다.
  • HMS_URI: (선택사항) HMS Thrift 엔드포인트입니다.

Dataproc 클러스터와 연결

또는 Dataproc 작업을 클러스터에 제출할 수 있습니다. 다음 샘플은 적절한 Iceberg 커스텀 카탈로그를 설치합니다.

Dataproc 클러스터와 연결하려면 다음 사양을 사용해 작업을 제출합니다.

CONFS="spark.sql.catalog.SPARK_CATALOG=org.apache.iceberg.spark.SparkCatalog,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.catalog-impl=org.apache.iceberg.gcp.biglake.BigLakeCatalog,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.gcp_project=PROJECT_ID,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.gcp_location=LOCATION,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.blms_catalog=BLMS_CATALOG,"
CONFS+="spark.sql.catalog.SPARK_CATALOG.warehouse=GCS_DATA_WAREHOUSE_FOLDER,"
CONFS+="spark.jars.packages=ICEBERG_SPARK_PACKAGE"

gcloud dataproc jobs submit spark-sql --cluster=DATAPROC_CLUSTER \
  --project=DATAPROC_PROJECT_ID \
  --region=DATAPROC_LOCATION \
  --jars=BIGLAKE_ICEBERG_CATALOG_JAR \
  --properties="${CONFS}" \
  --file=QUERY_FILE_PATH

다음을 바꿉니다.

  • DATAPROC_CLUSTER: 작업을 제출할 Dataproc 클러스터입니다.
  • DATAPROC_PROJECT_ID: Dataproc 클러스터의 프로젝트 ID입니다. 이 ID는 PROJECT_ID와 다를 수 있습니다.
  • DATAPROC_LOCATION: Dataproc 클러스터의 위치입니다. 이 위치는 LOCATION과 다를 수 있습니다.
  • QUERY_FILE_PATH: 실행할 쿼리가 포함된 파일의 경로입니다.

Dataproc 서버리스와 연결

마찬가지로 일괄 워크로드를 Dataproc 서버리스에 제출할 수 있습니다. 이렇게 하려면 다음 추가 플래그를 사용해 일괄 워크로드 안내를 따르세요.

  • --properties="${CONFS}"
  • --jars=BIGLAKE_ICEBERG_CATALOG_JAR

BigQuery 저장 프로시져와 연결

BigQuery 저장 프로시져를 사용하여 Dataproc 서버리스 작업을 실행할 수 있습니다. 이 프로세스는 Dataproc에서 직접 Dataproc 서버리스 작업을 실행할 때와 유사합니다.

메타스토어 리소스 만들기

다음 섹션에서는 메타스토어에서 리소스를 만드는 방법을 설명합니다.

카탈로그 만들기

카탈로그 이름에는 제약조건이 있습니다. 자세한 내용은 제한사항을 참조하세요. 카탈로그를 만들려면 다음 옵션 중 하나를 선택합니다.

API

projects.locations.catalogs.create 메서드를 사용하고 카탈로그 이름을 지정합니다.

Spark SQL

CREATE NAMESPACE SPARK_CATALOG;

Terraform

Terraform은 'google_biglake_catalog.default.id' 변수로 지정된 카탈로그에 'HIVE' 유형의 'my_database'라는 BigLake 데이터베이스를 만듭니다. 자세한 내용은 Terraform BigLake 문서를 참조하세요.

resource "google_biglake_catalog" "default" {
name     = "my_catalog"
location = "US"
}

데이터베이스 생성

데이터베이스 이름에는 제약조건이 있습니다. 자세한 내용은 제한사항을 참조하세요. 데이터베이스 리소스가 데이터 엔진과 호환되도록 하려면 수동으로 리소스 본문을 작성하는 대신 데이터 엔진을 사용하여 데이터베이스를 만드는 것이 좋습니다. 데이터베이스를 만들려면 다음 옵션 중 하나를 선택합니다.

API

projects.locations.catalogs.databases.create 메서드를 사용하고 데이터베이스 이름을 지정합니다.

Spark SQL

CREATE NAMESPACE BLMS_DB;

다음을 바꿉니다.

  • BLMS_DB: 만들려는 BigLake Metastore 데이터베이스 ID

Terraform

Terraform은 'google_biglake_catalog.default.id' 변수로 지정된 카탈로그에 'HIVE' 유형의 'my_database'라는 BigLake 데이터베이스를 만듭니다. 자세한 내용은 Terraform BigLake 문서를 참조하세요.

resource "google_biglake_database" "default" {
name    = "my_database"
catalog = google_biglake_catalog.default.id
type    = "HIVE"
hive_options {
  location_uri = "gs://${google_storage_bucket.default.name}/${google_storage_bucket_object.metadata_directory.name}"
  parameters = {
    "owner" = "Alex"
  }
}
}

테이블 만들기

테이블 이름에는 제약조건이 있습니다. 자세한 내용은 테이블 이름 지정을 참조하세요. 테이블을 만들려면 다음 옵션 중 하나를 선택합니다.

API

projects.locations.catalogs.databases.tables.create 메서드를 사용하고 테이블 이름을 지정합니다.

Spark SQL

CREATE TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE
  (id bigint, data string) USING iceberg;

다음을 바꿉니다.

  • BLMS_TABLE: 만들려는 BigLake Metastore 테이블 ID

Terraform

Terraform은 'google_biglake_database.default.id' 변수로 지정된 데이터베이스에 'HIVE' 유형의 'my_table'이라는 BigLake Metastore 테이블을 만듭니다. 자세한 내용은 Terraform 제공업체 문서 BigLake 테이블을 참조하세요.

resource "google_biglake_table" "default" {
name     = "my-table"
database = google_biglake_database.default.id
type     = "HIVE"
hive_options {
  table_type = "MANAGED_TABLE"
  storage_descriptor {
    location_uri  = "gs://${google_storage_bucket.default.name}/${google_storage_bucket_object.data_directory.name}"
    input_format  = "org.apache.hadoop.mapred.SequenceFileInputFormat"
    output_format = "org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat"
  }
  parameters = {
    "spark.sql.create.version"          = "3.1.3"
    "spark.sql.sources.schema.numParts" = "1"
    "transient_lastDdlTime"             = "1680894197"
    "spark.sql.partitionProvider"       = "catalog"
    "owner"                             = "Alex"
    "spark.sql.sources.schema.part.0" = jsonencode({
      "type" : "struct",
      "fields" : [
        { "name" : "id", "type" : "integer",
          "nullable" : true,
          "metadata" : {}
        },
        {
          "name" : "name",
          "type" : "string",
          "nullable" : true,
          "metadata" : {}
        },
        {
          "name" : "age",
          "type" : "integer",
          "nullable" : true,
          "metadata" : {}
        }
      ]
    })
    "spark.sql.sources.provider" = "iceberg"
    "provider"                   = "iceberg"
  }
}
}

E2E Terraform 예시

GitHub 예시에서는 'BigLake' Metastore 카탈로그, 데이터베이스, 테이블을 만드는 실행 가능한 E2E 예시를 제공합니다. 이 예시를 사용하는 방법에 대한 자세한 내용은 기본 Terraform 명령어를 참조하세요.

Hive Metastore에서 BigLake Metastore로 Iceberg 테이블 복사

Iceberg 테이블을 만들고 Hive Metastore 테이블을 BigLake Metastore에 복사하려면 다음 Spark SQL 문을 사용합니다.

CREATE TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE
  (id bigint, data string) USING iceberg
  TBLPROPERTIES(hms_table='HMS_DB.HMS_TABLE');

BigLake Metastore는 BigLake Iceberg 테이블을 쿼리하는 데 권장되는 메타스토어입니다. Spark에서 Iceberg 테이블을 만들 때 원하는 경우 연결된 BigLake Iceberg 테이블을 동시에 만들 수 있습니다.

Spark에서 Iceberg 테이블을 만들고 동시에 자동으로 BigLake Iceberg 테이블을 만들려면 다음 Spark SQL 문을 사용합니다.

  CREATE TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE
    (id bigint, data string) USING iceberg
    TBLPROPERTIES(bq_table='BQ_TABLE_PATH',
    bq_connection='BQ_RESOURCE_CONNECTION');

다음을 바꿉니다.

  • BQ_TABLE_PATH: 만들려는 BigLake Iceberg 테이블의 경로입니다. BigQuery 테이블 경로 구문을 따릅니다. 프로젝트가 지정되지 않은 경우 BigLake Metastore 카탈로그와 동일한 프로젝트를 사용합니다.
  • BQ_RESOURCE_CONNECTION(선택사항): 형식은 project.location.connection-id입니다. 지정될 경우 BigQuery 쿼리가 Cloud 리소스 연결 사용자 인증 정보를 사용하여 BigLake Metastore에 액세스합니다. 지정하지 않으면 BigQuery가 BigLake 테이블 대신 일반 외부 테이블을 만듭니다.

지정된 BigLake Metastore 테이블 URI(blms://…)로 BigLake Iceberg 테이블 링크를 수동으로 만들려면 다음 BigQuery SQL 문을 사용합니다.

CREATE EXTERNAL TABLE 'BQ_TABLE_PATH'
  WITH CONNECTION `BQ_RESOURCE_CONNECTION`
  OPTIONS (
          format = 'ICEBERG',
          uris = ['blms://projects/PROJECT_ID/locations/LOCATION/catalogs/BLMS_CATALOG/databases/BLMS_DB/tables/BLMS_TABLE']
          )

메타스토어 리소스 보기

다음 섹션에서는 BigLake Metastore에서 리소스를 보는 방법을 설명합니다.

카탈로그 보기

카탈로그에 있는 모든 데이터베이스를 보려면 projects.locations.catalogs.list 메서드를 사용하고 카탈로그 이름을 지정합니다.

카탈로그에 대한 정보를 보려면 projects.locations.catalogs.get 메서드를 사용하고 카탈로그 이름을 지정합니다.

데이터베이스 보기

데이터베이스를 보려면 다음을 수행합니다.

API

데이터베이스의 모든 테이블을 보려면 projects.locations.catalogs.databases.list 메서드를 사용하고 데이터베이스 이름을 지정합니다.

데이터베이스에 대한 정보를 보려면 projects.locations.catalogs.databases.get 메서드를 사용하고 데이터베이스 이름을 지정합니다.

Spark SQL

카탈로그의 모든 데이터베이스를 보려면 다음 문을 사용합니다.

SHOW { DATABASES | NAMESPACES } IN SPARK_CATALOG;

정의된 데이터베이스에 대한 정보를 보려면 다음 문을 사용합니다.

DESCRIBE { DATABASE | NAMESPACE } [EXTENDED] SPARK_CATALOG.BLMS_DB;

테이블 보기

데이터베이스의 모든 테이블을 보거나 정의된 테이블을 보려면 다음을 수행합니다.

API

데이터베이스의 모든 테이블을 보려면 projects.locations.catalogs.databases.tables.list 메서드를 사용하고 데이터베이스 이름을 지정합니다.

테이블 정보를 보려면 projects.locations.catalogs.databases.tables.get 메서드를 사용하고 테이블 이름을 지정합니다.

Spark SQL

데이터베이스의 모든 테이블을 보려면 다음 문을 사용합니다.

SHOW TABLES IN SPARK_CATALOG.BLMS_DB;

정의된 테이블에 대한 정보를 보려면 다음 문을 사용합니다.

DESCRIBE TABLE [EXTENDED] SPARK_CATALOG.BLMS_DB.BLMS_TABLE;

메타스토어 리소스 수정

다음 섹션에서는 메타스토어의 리소스를 수정하는 방법을 설명합니다.

테이블 업데이트

여러 작업이 동시에 같은 테이블을 업데이트하려고 시도할 때 충돌을 막기 위해 BigLake Metastore에서는 낙관적 잠금을 사용합니다. 낙관적 잠금을 사용하려면 먼저 GetTable 메서드를 사용하여 테이블의 현재 버전(ETag라고 함)을 가져와야 합니다. 그런 다음 테이블을 변경하고 UpdateTable 메서드를 사용하여 이전에 가져온 ETag를 전달하면 됩니다. ETag를 가져온 후 다른 작업에서 테이블을 업데이트하면 UpdateTable 메서드가 실패합니다. 이 방법은 한 번에 한 작업만 테이블을 업데이트할 수 있도록 하여 충돌을 방지합니다.

테이블을 업데이트하려면 다음 옵션 중 하나를 선택합니다.

API

projects.locations.catalogs.databases.tables.patch 메서드를 사용하고 테이블 이름을 지정합니다.

Spark SQL

SQL의 테이블 업데이트 옵션은 ALTER TABLE을 참조하세요.

테이블 이름 바꾸기

테이블 이름을 바꾸려면 다음 옵션 중 하나를 선택합니다.

API

projects.locations.catalogs.databases.tables.rename 메서드를 사용하고 테이블 이름과 newName 값을 지정합니다.

Spark SQL

ALTER TABLE BLMS_TABLE RENAME TO NEW_BLMS_TABLE;

다음을 바꿉니다.

  • NEW_BLMS_TABLE: BLMS_TABLE의 새 이름입니다. BLMS_TABLE과 동일한 데이터 세트에 있어야 합니다.

메타스토어 리소스 삭제

다음 섹션에서는 BigLake Metastore에서 리소스를 삭제하는 방법을 설명합니다.

카탈로그 삭제

카탈로그를 삭제하려면 다음 옵션 중 하나를 선택합니다.

API

projects.locations.catalogs.delete 메서드를 사용하고 카탈로그 이름을 지정합니다. 이 방법으로 Google Cloud에서 관련 파일이 삭제되지는 않습니다.

Spark SQL

DROP NAMESPACE SPARK_CATALOG;

데이터베이스 삭제하기

데이터베이스를 삭제하려면 다음 옵션 중 하나를 선택합니다.

API

projects.locations.catalogs.databases.delete 메서드를 사용하고 데이터베이스 이름을 지정합니다. 이 방법으로 Google Cloud에서 관련 파일이 삭제되지는 않습니다.

Spark SQL

DROP NAMESPACE SPARK_CATALOG.BLMS_DB;

테이블 삭제

테이블을 삭제하려면 다음 옵션 중 하나를 선택합니다.

API

projects.locations.catalogs.databases.tables.delete 메서드를 사용하고 테이블 이름을 지정합니다. 이 방법으로 Google Cloud에서 관련 파일이 삭제되지는 않습니다.

Spark SQL

테이블만 삭제하려면 다음 문을 사용합니다.

DROP TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE;

테이블을 삭제하고 Google Cloud에서 관련 파일을 삭제하려면 다음 문을 사용합니다.

DROP TABLE SPARK_CATALOG.BLMS_DB.BLMS_TABLE PURGE;