예제: 델타 공유에서 테이블 질의 및 뷰 분석

미국이 수집한 정보에 대한 데이터가 있는 인벤토리 데이터베이스에서 작업한다고 가정해 보겠습니다. 보스턴 지역의 주택에 관한 인구 조사 서비스, 우리는 전체 가치 재산세의 최대 가치를 반환하는 쿼리가 필요합니다.

  1. Oracle 델타 공유 제공자 및 인증서 생성:

    델타 공유 제공자를 만들려면 일반적으로 델타 공유 제공자와 사용하기에 적합한 자격 증명을 만드는 등 델타 공유 플랫폼과 상호 작용해야 합니다. 이 예에서는 DATABRICKS_PROVIDER를 만들 수 있습니다.

    BEGIN
          dbms_share.create_or_replace_share_provider(
          provider_name=>  'DATABRICKS_PROVIDER',
          endpoint=>       'https://sharing.delta.io/delta-sharing');
          dbms_cloud.create_credential(
          credential_name => 'CREDENTIAL_NAME',
          username => 'BEARER_TOKEN',
          password => '*********************************');
          dbms_share.set_share_provider_credential(
         'DATABRICKS_PROVIDER', 'CREDENTIAL_NAME');
       END;
       //

    이 절차의 출력은 델타 공유 공급자를 성공적으로 만듭니다.

  2. DB 공유 카탈로그 마운트:

    인증서를 생성한 후 단계 1의 등록된 공유 제공자를 카탈로그로 마운트하여 카탈로그 사용자가 공유에서 데이터를 검색 및 검색하고 SQL을 사용하여 해당 데이터를 질의할 수 있도록 할 수 있습니다.

    BEGIN
          dbms_catalog.mount_share(
          catalog_name=>'databricks',
          share_provider=>'databricks_provider',
          share_name=>'delta_sharing');
          END;
        /

    이 프로시저의 출력은 Catalog 툴이 Databricks에 저장된 테이블을 query할 수 있도록 하는 카탈로그 통합을 성공적으로 생성합니다.

  3. 단순 질의 실행:
    이제 테이블에 대해 간단한 질의를 실행할 수 있습니다.
    select max(tax) from "DEFAULT"."BOSTON-HOUSING"@catalogname;

    출력은 테이블에 있는 호텔 세율의 전체 값의 최대값을 반환합니다.

    MAX(TAX)
    ----------       
    711