외부 데이터 플랫폼에서 계산 실행하기
Compute pushdown은 Foundry에서 작성한 변환의 표 연산을 BigQuery, Databricks 또는 Snowflake에서 실행하는 방식입니다. Foundry는 파이프라인 관리, 데이터 계보와 보안 정책을 제공하고 외부 플랫폼의 계산 자원을 사용합니다.
입력과 출력의 경계
모든 입력과 출력은 같은 소스 연결에 등록된 가상 테이블이어야 하며, 그 소스가 compute pushdown을 지원해야 합니다. 같은 제품의 두 연결이라도 서로 다른 소스라면 이 조건을 충족하지 않습니다. Foundry 데이터셋 입력을 섞거나 여러 외부 소스를 조인하려면 Foundry-native Spark 방식으로 실행합니다.
Pushdown은 lightweight에서 외부 세션을 조율하지만 일반 Pandas/Polars 변환으로 가상 테이블을 직접 읽는 기능과는 다릅니다. 외부 DataFrame의 결과를 명시적으로 로컬에 수집하는 호출은 데이터 이동과 로컬 메모리 사용을 발생시킵니다.
이 모드에서는 @incremental 증분 계산을 지원하지 않습니다. 소스의 code imports, export controls, 네트워크 정책과 저장소에 가져온 출력 소스가 준비되어야 합니다. 공통 준비 절차에 각 설정의 의미를 설명했습니다.
플랫폼별 실행 인터페이스
| 플랫폼 | 선언 | 입력/출력과 실행 엔진 |
|---|---|---|
| BigQuery | transform.bigquery.using() | Ibis 표현식을 BigQuery에서 계산 |
| Databricks | transform.databricks.using() | Databricks Connect의 PySpark DataFrame |
| Snowflake | transform.snowflake.using() | 기본 Snowpark, 선택적으로 Snowpark Connect |
외부 저장 위치는 Table locator로 지정합니다. 생성한 가상 테이블의 소스와 외부 위치를 변경하는 것은 지원하지 않으므로 새 출력의 위치와 권한을 생성 전에 정합니다.