콘텐츠로 이동

자체 웨어하우스 사용

프로젝트의 테이블은 일반적으로 내장 PlaidCloud Lakehouse에 저장됩니다. 워크스페이스 관리자는 PlaidCloud 직원의 도움 없이 PlaidCloud 내에서 자체 Snowflake 또는 Databricks 웨어하우스를 대신 연결할 수 있습니다. 그러면 워크플로가 프로젝트 테이블을 웨어하우스에서 직접 읽고 씁니다. 데이터는 사용자의 계정에 남아 사용자의 거버넌스와 청구 체계를 따르며, PlaidCloud는 그 위에서 변환, 워크플로, 대시보드를 구동합니다.

PlaidCloud 프로젝트워크플로 + 대시보드읽기 / 쓰기연결Snowflake 또는 Databricks내 레이크하우스데이터는 여기에 남습니다
프로젝트의 테이블은 사용자의 웨어하우스에 있으며, PlaidCloud는 데이터를 자체 저장소로 복사하지 않고 그 자리에서 읽고 씁니다.

웨어하우스를 연결, 변경 또는 제거할 수 있는 사람은 워크스페이스 관리자뿐입니다.

  1. 사용자 메뉴를 열고 자체 웨어하우스 사용을 선택합니다. 홈 체크리스트의 웨어하우스 사용 행에서 연결을 선택하거나, Snowflake 또는 Databricks 연결 대화 상자에서 이것을 내 웨어하우스로 사용합니다를 선택할 수도 있습니다.
  2. Snowflake 또는 Databricks를 선택합니다.
  3. 두 가지 방법 중 하나로 연결합니다. Sign in with Snowflake 또는 Sign in with Databricks(가장 빠른 방법이며 Snowflake 또는 Databricks로 로그인에서 설명합니다)를 사용하거나, 설정 스크립트를 실행한 후 스크립트가 생성한 자격 증명을 붙여넣습니다(아래 참조).

대화 상자는 사용자가 선택한 이름으로 설정 스크립트를 작성하고, 입력할 때마다 스크립트를 업데이트합니다. 스크립트 복사로 복사하여 사용자의 계정에서 실행하십시오. 이 스크립트는 기존 웨어하우스를 변경하지 않습니다.

Snowflake Databricks
실행 권한 ACCOUNTADMIN 워크스페이스 및 메타스토어 관리자
생성 항목 유휴 60초 후 일시 중단되는 웨어하우스(90퍼센트에서 알림, 100퍼센트에서 일시 중단하는 월별 크레딧 한도 포함), 데이터베이스, 역할, 서비스 사용자 서비스 주체, 유휴 시 중지되는 SQL 웨어하우스, 카탈로그(이미 있는 경우 제외)
변경 가능한 이름 웨어하우스, 크기, 월별 크레딧 한도, 데이터베이스, 역할, 서비스 사용자 서비스 주체 이름, SQL 웨어하우스 이름, 크기, 유휴 후 중지(분), 카탈로그
기본값 PLAIDCLOUD_WH(XSMALL, 월 100크레딧), PLAIDCLOUD, PLAIDCLOUD_ROLE, PLAIDCLOUD_SVC plaidcloud, PlaidCloud(2X-Small, 유휴 10분), 카탈로그 plaidcloud
인증 키 쌍(스크립트에서 생성 방법을 보여줍니다) 서비스 주체의 OAuth 시크릿

이 스크립트는 다음 항목도 설정합니다.

  • 네트워크 액세스. PlaidCloud는 130.211.116.97/32 주소에서 연결합니다. Snowflake 스크립트는 서비스 사용자에 대해 해당 주소만 허용하는 네트워크 정책을 생성합니다. Databricks에서 워크스페이스가 이미 IP 액세스 목록을 적용하고 있다면, 스크립트에 이를 허용하는 문이 포함됩니다. 계정을 보호하는 모든 네트워크 정책 또는 IP 액세스 목록에도 이 주소를 추가하십시오.
  • 정책 유지. Snowflake에서는 역할에 행 액세스, 마스킹, 프로젝션, 집계, 조인 정책과 태그를 적용할 수 있는 권한이 부여되므로, PlaidCloud가 테이블을 다시 작성해도 사용자의 정책이 유지됩니다. Databricks에서는 사용하는 행 필터 또는 열 마스크 함수에 대해 서비스 주체에게 EXECUTE 권한을 부여하십시오.
  • 실행 비용. Snowflake 역할에는 SNOWFLAKE.GOVERNANCE_VIEWER 데이터베이스 역할이 부여됩니다. 이 역할로 PlaidCloud는 각 실행에 귀속된 크레딧을 읽을 수 있으며 마지막 읽기도 지원합니다. Databricks에는 system 카탈로그의 쿼리 기록과 웨어하우스 크기에 대한 읽기 액세스가 부여됩니다.
  • 마지막 읽기. Databricks에서는 스크립트가 테이블의 마지막 읽기 정보에 필요한 system.access에 대한 USE SCHEMA와 system.access.table_lineage에 대한 SELECT도 부여합니다. 실행당 웨어하우스 비용을 참조하십시오.
필드 엔진 입력할 내용
계정 URL Snowflake 계정 호스트입니다. 예: myorg-myaccount.snowflakecomputing.com.
개인 키 Snowflake 서비스 사용자의 개인 키(PEM)입니다. 키 쌍은 만료되지 않습니다.
워크스페이스 URL Databricks 워크스페이스 호스트입니다. 예: adb-1234567890123456.7.azuredatabricks.net.
SQL 웨어하우스 HTTP 경로 Databricks 예: /sql/1.0/warehouses/abc123def456.
애플리케이션 ID Databricks 서비스 주체의 애플리케이션(클라이언트) ID입니다.
OAuth 시크릿 Databricks 서비스 주체의 OAuth 시크릿입니다. PlaidCloud가 대신 갱신합니다.

고급에서 Snowflake 프로그래매틱 액세스 토큰 또는 Databricks 개인 액세스 토큰을 대신 사용할 수 있습니다. 토큰은 만료됩니다. 만료일이 되면 새 토큰을 추가할 때까지 PlaidCloud가 웨어하우스에 접근하지 못합니다. 만료 14일 전과 만료 후에는 배너가 날짜를 알려 주고 갱신을 제공합니다. 키 쌍이나 OAuth 시크릿을 사용하면 만료를 피할 수 있습니다.

주소는 .snowflakecomputing.com, .cloud.databricks.com, .azuredatabricks.net 또는 .gcp.databricks.com으로 끝나는 계정의 공용 URL이어야 합니다. 프라이빗 및 사용자 지정 엔드포인트는 지원되지 않습니다.

  • 연결 확인은 주소, 로그인 및 PlaidCloud에 필요한 모든 권한을 테스트하며 아무것도 저장하지 않습니다.
  • 내 웨어하우스로 사용은 동일한 검사를 실행하고, 웨어하우스를 연결하여 기본값으로 설정한 다음, 워크스페이스가 전환될 때까지 기다립니다. 보통 몇 분이 걸리며 창을 닫아도 됩니다. 이후 워크스페이스의 새 프로젝트는 사용자의 웨어하우스를 사용합니다.

검사가 실패하면 문제와 해결 방법을 쉬운 말로 설명합니다. 누락된 필수 권한은 복사 버튼, 모두 복사 버튼, 설정 스크립트 표시와 함께 바로 실행할 수 있는 GRANT 문으로 나열됩니다. 지원팀용으로 복사는 PlaidCloud 지원팀을 위해 웨어하우스 자체의 오류 텍스트를 복사합니다.

검사는 권장 — ’마지막 읽기’를 활성화합니다 아래에 권한도 별도로 나열하며, 각 권한에는 복사가 있습니다. 이 권한이 있으면 테이블의 마지막 읽기 정보가 웨어하우스의 기록을 읽을 수 있습니다. 이 권한이 없어도 웨어하우스를 사용하는 데는 지장이 없습니다. 없는 상태에서도 정상적으로 연결되며, 마지막 읽기에는 Read history incomplete가 표시됩니다.

  • Snowflake: GRANT DATABASE ROLE SNOWFLAKE.GOVERNANCE_VIEWER TO ROLE <role>;(SNOWFLAKE 데이터베이스에 대한 IMPORTED PRIVILEGES도 사용할 수 있습니다). 마지막 읽기에는 액세스 기록이 필요하며, Snowflake Standard 에디션에는 없습니다.
  • Databricks: 서비스 주체에 대한 system의 USE CATALOG, system.access의 USE SCHEMA, system.access.table_lineage의 SELECT.
표시되는 내용 해결 방법
서비스 사용자가 개체를 사용할 수 없음 해당 개체에 대한 권한을 역할에 부여하십시오. 설정 스크립트에 모든 권한 부여 문이 있습니다.
웨어하우스가 일시 중단되었거나 존재하지 않음 웨어하우스 이름과 웨어하우스가 자동으로 시작될 수 있는지 확인하십시오(Snowflake의 AUTO_RESUME, Databricks의 실행 중인 SQL 웨어하우스).
웨어하우스가 크레딧 할당량을 모두 사용함 리소스 모니터의 할당량 또는 예산을 늘리거나 초기화될 때까지 기다리십시오.
네트워크 정책이 PlaidCloud를 차단하고 있음 설정 스크립트와 같이 정책에서 130.211.116.97/32를 허용하십시오.
토큰 또는 키가 만료되었거나 더 이상 유효하지 않음 새 토큰을 생성하거나 키 쌍으로 전환하십시오.
Unity Catalog가 서비스 주체의 액세스를 거부함 카탈로그에 대한 USE CATALOG, CREATE SCHEMA, USE SCHEMA 권한을 부여하십시오.
PlaidCloud가 로그인할 수 없음 사용자 또는 서비스 주체와 해당 키, 토큰 또는 시크릿을 확인하십시오.
PlaidCloud가 웨어하우스에 연결할 수 없음 URL을 확인하고 네트워크 정책 또는 IP 액세스 목록에서 PlaidCloud의 주소를 허용하십시오.
프라이빗 또는 사용자 지정 엔드포인트는 지원되지 않음 계정의 공용 URL을 사용하십시오.

키, 시크릿 또는 토큰을 붙여넣는 대신 관리자가 로그인하여 웨어하우스를 연결할 수 있습니다. 그러면 각 사용자가 자신의 Snowflake 또는 Databricks ID로 로그인하므로, 대시보드와 쿼리는 웨어하우스에서 각자의 권한으로 실행됩니다.

계정 관리자가 사용자의 계정에서 한 번, PlaidCloud를 로그인 애플리케이션으로 등록합니다. 자체 웨어하우스 사용 대화 상자에 PlaidCloud의 리디렉션 URL을 포함하여 사용할 정확한 텍스트가 표시됩니다.

  • Snowflake. 대화 상자에 표시된 CREATE SECURITY INTEGRATION 문을 실행한 다음, SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS 문의 결과에서 OAUTH_CLIENT_ID를 복사합니다.
  • Databricks. 계정 콘솔의 Settings > App connections에서 이름이 PlaidCloud인 앱을 추가합니다. 대화 상자에 표시된 리디렉션 URL과 모든 API에 대한 액세스를 지정하고, Generate a client secret은 끈 상태로 둔 다음 클라이언트 ID를 복사합니다.
  1. Quickest: sign in with Snowflake(또는 Databricks)에서 계정 URL(또는 워크스페이스 URL)과 클라이언트 ID를 입력합니다.
  2. Snowflake에서는 데이터베이스와 PlaidCloud용 데이터 역할을 입력합니다. 웨어하우스는 선택 사항이며 기본값은 사용자의 웨어하우스입니다. Databricks에서는 SQL 웨어하우스 HTTP 경로를 입력합니다. 카탈로그는 선택 사항이며 기본값은 사용자의 카탈로그입니다.
  3. Sign in with Snowflake 또는 Sign in with Databricks를 선택하고, 해당 벤더 계정에 로그인한 후 승인합니다.

PlaidCloud는 이 웨어하우스 전용으로 사용자의 계정에 자체 서비스 ID를 생성합니다. 워크플로, 일정 및 담당자가 없는 모든 작업은 이 ID로 실행됩니다.

  • Snowflake. PlaidCloud는 지정한 데이터 역할만 보유한 키 쌍과 함께 새 서비스 사용자를 생성합니다. 이 역할은 일반 데이터 역할이어야 합니다. PlaidCloud는 로그인에 사용한 역할, ACCOUNTADMIN, SECURITYADMIN, USERADMIN, SYSADMIN 또는 ORGADMIN인 역할이나 이를 상속하는 역할, CREATE USER, CREATE ROLE, MANAGE GRANTS, CREATE INTEGRATION 또는 CREATE NETWORK POLICY 권한을 보유한 역할, 사용자를 소유한 역할을 거부합니다. 이 역할은 설정 스크립트의 APPLY ROW ACCESS POLICY, APPLY MASKING POLICY, APPLY PROJECTION POLICY, APPLY AGGREGATION POLICY, APPLY JOIN POLICY, APPLY TAG 권한을 보유할 수 있으며, 다시 작성된 테이블이 정책을 유지하려면 이 권한이 필요합니다. 또한 PlaidCloud는 기존 Snowflake 사용자를 재사용하지 않습니다. 로그인에 사용하는 역할은 사용자를 생성하고 데이터 역할을 부여할 수 있어야 합니다.
  • Databricks. PlaidCloud는 SQL 웨어하우스에 대한 액세스와 카탈로그의 데이터 권한만 가진 새 서비스 주체를 생성합니다. PlaidCloud가 이를 생성할 수 있도록 워크스페이스 관리자로 로그인하십시오.

서비스 ID에 필요한 권한이 없으면 웨어하우스는 해당 권한을 명시한 경고와 함께 로그인한 사용자에게는 계속 연결되지만, 관리자가 다시 로그인할 때까지 워크플로 실행은 같은 사유로 거부됩니다.

워크스페이스에 로그인으로 접속하는 웨어하우스가 있으면 모든 멤버의 사용자 메뉴에 웨어하우스에 로그인이 표시됩니다. 이를 선택한 다음 Sign in with Snowflake 또는 Sign in with Databricks를 선택합니다. PlaidCloud는 로그인 상태를 유지합니다. 로그인 없이 열었거나 로그인이 만료된 후에 연 대시보드에는 Sign in with Snowflake to view this dashboard: in PlaidCloud, open your user menu and choose Sign in to your warehouse.(또는 Databricks)가 표시됩니다. 해당 메뉴 항목에서 다시 로그인하십시오.

이러한 웨어하우스의 대시보드는 그곳에서 보는 사람 자신의 권한으로 실행됩니다. 로그인하지 않은 보는 사람에게는 *Sign in with Snowflake to view this dashboard: in PlaidCloud, open your user menu and choose Sign in to your warehouse.*라는 메시지가 표시됩니다.

워크스페이스 관리자가 사용자 메뉴를 열고 웨어하우스 관리를 선택합니다. 내 웨어하우스 창에는 각 웨어하우스의 이름, 유형, 기본값, 프로젝트, 상태가 나열됩니다.

버튼 기능
Warehouse 추가 웨어하우스 추가라는 제목으로 연결과 동일한 흐름을 엽니다. 웨어하우스가 추가되며 새 프로젝트의 기본값은 변경되지 않습니다.
기본값으로 설정 새 프로젝트가 이 웨어하우스를 사용합니다. 이미 생성된 프로젝트는 생성 당시의 웨어하우스에 그대로 남습니다.
제거 웨어하우스 연결을 해제합니다. 웨어하우스가 기본값이 아니고 이를 사용하는 프로젝트가 없는 경우에만 사용할 수 있습니다.

웨어하우스를 제거하면 PlaidCloud는 사용자의 계정에서 해당 자격 증명(모든 로그인과 서비스 ID 포함)을 취소하고 자체 사본을 삭제합니다. 데이터는 웨어하우스에 그대로 남습니다. 자격 증명을 취소할 수 없는 경우 PlaidCloud는 사용자의 계정에서 직접 취소하라고 안내합니다.

자체 웨어하우스에서는 변환된 Alteryx 워크플로의 실행 기록에 웨어하우스 비용 열이 표시되고, 마이그레이션 검증 창에는 마지막 실행의 비용과 다음 실행의 예상 비용이 표시됩니다. 비용은 Snowflake에서는 크레딧, Databricks에서는 DBU 단위입니다.

레이블 의미
attributed Snowflake가 실행의 쿼리에 청구한 크레딧이며, GOVERNANCE_VIEWER 권한을 통해 읽습니다. 귀속 정보는 Snowflake의 보고 지연 이후에 나타납니다.
estimated 쿼리 실행 시간과 웨어하우스 크기로 계산한 값이며 앞에 ≈가 붙어 표시됩니다. Databricks에서는 항상 이 방식이며, Snowflake에서는 귀속 정보가 도착하기 전이거나 권한이 없을 때 이 방식입니다.

비용은 PlaidCloud의 엔진이 실행한 단계를 대상으로 합니다. 일부만 가격이 산정된 실행은 partial로 표시되고, 아직 비용이 보고되지 않은 실행에는 그 사실이 표시됩니다.

PlaidCloud에서 설정한 스키마, 테이블, 열 설명은 웨어하우스 자체 카탈로그에 주석으로 기록됩니다. Snowflake의 행 액세스, 마스킹, 프로젝션, 집계, 조인 정책과 Databricks의 행 필터 및 열 마스크는 PlaidCloud가 테이블을 교체, 재생성 또는 복제할 때도 그대로 연결된 상태로 유지됩니다. 정책을 유지할 수 없는 경우 PlaidCloud는 테이블을 이전 상태로 두며, 메시지에 정책과 사유가 표시됩니다.

프로젝트를 웨어하우스에 바인딩

섹션 제목: “프로젝트를 웨어하우스에 바인딩”

워크스페이스에 웨어하우스가 연결되면 새 프로젝트 대화 상자(Analyze > 프로젝트 > 새 프로젝트)에 레이크하우스 선택기가 표시됩니다. 테넌트 기본값을 선택하거나 특정 웨어하우스를 선택합니다. 테넌트 기본값은 웨어하우스가 기본값으로 지정되어 있지 않은 한 내장 PlaidCloud Lakehouse이며, 웨어하우스가 기본값이면 새 프로젝트가 자동으로 그곳에 생성됩니다. 기본값을 설정하려면 웨어하우스 관리에서 내 웨어하우스로 사용 또는 기본값으로 설정을 사용하십시오. 이는 이후에 생성되는 프로젝트에만 영향을 미치며, 기존 프로젝트는 생성 당시의 백엔드를 유지합니다. 이후에는 다음과 같이 동작합니다.

  • 프로젝트의 워크플로가 생성, 로드 또는 변환하는 모든 테이블은 사용자의 레이크하우스에 생성되고 기록됩니다.
  • 단계, 뷰, 대시보드에서의 읽기는 웨어하우스에 대한 쿼리로 실행됩니다.
  • PlaidCloud Lakehouse로 복사되는 것은 없으며, 데이터는 사용자의 계정에 남습니다.

내장 레이크하우스에서와 똑같이 워크플로를 빌드하십시오. 가져오기, 변환, 조인, 게시 단계가 모두 동일한 방식으로 동작합니다. 백엔드는 프로젝트를 생성할 때 설정되며 프로젝트 전체에 적용됩니다.

레이크하우스에 바인딩된 프로젝트로 파일 가져오기

섹션 제목: “레이크하우스에 바인딩된 프로젝트로 파일 가져오기”

CSV, Parquet, XML 또는 Access 파일을 레이크하우스에 바인딩된 프로젝트로 가져오면, 외부 클라우드 버킷을 통해 파일을 스테이징하는 대신 웨어하우스의 네이티브 병렬 대량 로드 경로로 로드합니다. Snowflake에서는 Snowflake 내부 스테이지와 COPY INTO를, Databricks에서는 Databricks 관리형 볼륨과 COPY INTO를 사용합니다. 추가로 구성할 클라우드 IAM이 없으며, 웨어하우스가 어느 클라우드에서 실행되든 동일하게 동작합니다.

레이크하우스에 바인딩된 프로젝트에서 쿼리 또는 테이블 결과를 내보내면 모든 행을 PlaidCloud를 거쳐 되돌리지 않고 클라우드 스토리지로 바로 전달됩니다.

  • Snowflake — 내보내기가 Snowflake 서버 측 언로드(스테이지로 COPY INTO)로 실행되므로 웨어하우스가 결과를 스토리지에 직접 기록합니다. 대용량 내보내기는 자동으로 여러 파일로 분할됩니다(이전에는 Snowflake의 단일 파일 한도를 넘는 내보내기가 실패했습니다).
  • Databricks — 내보내기가 Databricks 서버 측 언로드(Unity Catalog 관리형 볼륨으로 INSERT OVERWRITE DIRECTORY)로 실행되므로 웨어하우스가 결과를 직접 기록하고 인코딩하며, PlaidCloud는 완성된 파일만 스토리지로 중계합니다. 대용량 내보내기는 자동으로 여러 파일에 걸쳐 나뉘며, CSV는 gzip으로 압축하여 전달할 수 있습니다.

레이크하우스 데이터 기반 대시보드

섹션 제목: “레이크하우스 데이터 기반 대시보드”

대시보드는 두 엔진 모두에서 동작합니다.

  • Databricks — 대시보드는 서비스 주체의 OAuth 자격 증명(또는 개인 액세스 토큰)을 사용하여 Databricks 드라이버로 연결합니다. 로그인으로 연결된 웨어하우스에서는 보는 사람마다 자신의 Databricks ID로 대시보드가 실행됩니다.
  • Snowflake — 대시보드는 웨어하우스의 서비스 사용자와 키 쌍으로 연결합니다. 로그인으로 연결된 웨어하우스에서는 대신 보는 사람마다 자신의 Snowflake ID로 대시보드가 실행됩니다. 프로젝트의 대시보드는 프로젝트를 생성하거나 게시할 때 설정됩니다.

PlaidCloud에 웨어하우스 등록 요청

섹션 제목: “PlaidCloud에 웨어하우스 등록 요청”

웨어하우스를 직접 연결하지 않아도 됩니다. 연결하려는 엔진에 해당하는 아래 정보를 PlaidCloud 담당자에게 전달하면 관리자가 대신 등록합니다.

필드 제공할 내용
호스트 이름 Snowflake 계정 호스트입니다.
슈퍼유저 PlaidCloud가 인증에 사용하는 Snowflake 사용자입니다.
데이터베이스 PlaidCloud가 프로젝트 스키마를 생성하고 관리하는 데이터베이스입니다.
웨어하우스 PlaidCloud가 쿼리를 실행하는 컴퓨트 웨어하우스입니다.
역할 PlaidCloud가 대리하는 Snowflake 역할입니다.
개인 키 키 쌍 인증에 사용하는 암호화되지 않은 원본 PEM 개인 키입니다. base64로 인코딩한 사본이 아니라 키 텍스트 자체를 붙여넣으십시오. 암호 구문으로 보호된 키는 아직 지원되지 않습니다.

개인 키를 전달하기 전에 키 쌍을 생성하고 공개 키를 Snowflake 슈퍼유저에게 할당하십시오. 이 역할은 대상 데이터베이스에서 테이블을 생성, 읽기, 쓰기할 수 있어야 합니다.

필드 제공할 내용
호스트 이름 Databricks 워크스페이스 URL입니다.
HTTP 경로 PlaidCloud가 쿼리를 실행하는 SQL 웨어하우스의 HTTP 경로입니다.
Unity Catalog PlaidCloud가 프로젝트 스키마를 생성하고 관리하는 Unity Catalog 카탈로그입니다.
개인 액세스 토큰 인증에 사용하는 Databricks PAT입니다.

토큰의 ID는 해당 카탈로그에서 테이블을 생성, 읽기, 쓰기할 수 있어야 합니다.

두 등록 모두 스키마를 요구하지 않습니다. 각 프로젝트는 레이크하우스에 바인딩될 때 DSN에서 자동으로 파생된 자체 스키마를 갖습니다.

등록 양식에는 입력한 정보로 실시간 연결을 열어 성공 여부 또는 실패 사유를 보고하는 연결 테스트 버튼이 있으며, 아무것도 저장하지 않으므로 레이크하우스를 등록하기 전에 자격 증명을 검증할 수 있습니다. Snowflake 테스트에는 암호화되지 않은 원본 PEM 개인 키가 필요하며(암호 구문으로 보호된 키는 지원되지 않는 것으로 보고됩니다), Databricks 테스트는 PAT를 사용합니다.

등록된 웨어하우스는 저장하는 즉시 사용할 수 있는 것은 아닙니다. 직접 추가한 웨어하우스와 같은 이유로 워크스페이스에 나타나는 데 몇 분이 걸릴 수 있습니다(웨어하우스 관리 참조).