Code Repository, Workspace와 Workbook 선택
코드 기반 작업은 운영 파이프라인을 관리하는지, 노트북에서 탐색하는지, Spark의 큰 데이터를 대화형으로 분석하는지에 따라 도구를 선택합니다. 코드 없이 운영 파이프라인을 만들려면 Pipeline Builder의 그래프와 폼 기반 변환도 함께 검토합니다.
주된 용도
| 도구 | 적합한 작업 |
|---|---|
| Code Repositories | 장기간 운영할 파이프라인, 증분 계산과 반복 변환 생성, 코드 승인과 변경 추적이 필요한 작업입니다. 매일 큰 데이터를 처리하거나 단위 테스트 통과를 병합 조건으로 삼는 파이프라인이 해당합니다. |
| Code Workspaces | JupyterLab과 RStudio Workbench의 익숙한 IDE에서 셀별로 탐색하고 모델이나 파이프라인을 시험합니다. 결과를 보고서로 공유하거나 운영 도구로 옮길 수 있습니다. |
| Code Workbook | 그래프와 여러 언어로 큰 데이터를 분석하고 대화형 시각화나 반복 갱신 결과를 만듭니다. Spark 분산 데이터에 대한 탐색을 지원합니다. |
Code Workbook은 Legacy지만 전체 지원은 유지됩니다. Python transforms의 새 편집에는 VS Code workspace가 권장될 수 있으며, 이는 Code Repository를 코드와 운영 변환의 관리 단위로 사용하는 것과 양립합니다. 아래의 Workspace는 JupyterLab 및 RStudio 중심의 분석 환경을 비교한 것이며 VS Code 개발 워크플로 전체의 기능을 제한하는 표가 아닙니다.
데이터 처리 기능
| 기능 | Code Repositories | Code Workspaces | Code Workbook |
|---|---|---|---|
| 주된 언어 | Python, SQL, Java, Mesa | Python, R | Python, R, SQL |
| 플랫폼 배포 환경 | 모든 지원 환경 | Kubernetes 환경 | 모든 지원 환경 |
| Batch pipeline | 지원 | 지원 | 지원 |
| 증분 계산 | 지원 | 기본 제공하지 않음 | 지원하지 않음 |
| 변환 generator | 지원 | 기본 제공하지 않음 | 지원하지 않음 |
| 다중 출력 변환 | 지원 | 지원 | 변환 하나에 출력 하나 |
| 파일시스템 접근 | 지원 | 지원 | 지원 |
| 분석 시각화 | 저장소 편집기의 분석 기능으로 제공하지 않음 | 지원 | 지원 |
Code Workspaces의 이 분석 환경은 분산 Spark를 제공하지 않으므로 workspace의 컴퓨팅 한도에 들어가는 데이터가 적합합니다. Workbook은 Spark 모듈을 유지하여 분산 분석을 대화형으로 수행합니다. Code Repository의 실제 언어별 변환 지원은 SQL, Python과 Java 비교처럼 개별 API의 범위를 확인합니다.
작성과 반복 실행
| 기능 | Code Repositories | Code Workspaces | Code Workbook |
|---|---|---|---|
| 반복 작업의 중심 | 코드 로직 작성과 검증 | 셀별 데이터 탐색 | 그래프의 데이터 분석 |
| 데이터 미리보기 | 샘플을 사용하며 입력 사전 필터 가능 | 전체 데이터 미리보기 | 전체 데이터 기반 분석과 미리보기 |
| 플랫폼 통합 런타임 디버거 | 지원 | 이 비교의 분석 흐름에서 기본 제공하지 않음 | 제공하지 않음 |
| 콘솔 | 디버그 모드 | 지원 | 지원 |
| Spark 모듈 | Job 단위로 시작 | 이 분석 환경에서는 사용하지 않음 | Workbook 환경의 모듈을 유지하고 대화형 작업에 재사용 |
Code Repository에서는 먼저 코드와 샘플을 확인하고 데이터셋을 빌드한 뒤 플랫폼의 분석 도구로 결과를 살펴봅니다. Workspace는 커널 환경을 직접 조정하며 빠르게 셀을 실행합니다. Workbook은 전체 입력으로 변환을 실행하고 콘솔에서 추가 질의를 할 수 있습니다. 전체 입력을 사용한다는 것은 모든 미리보기 화면이 한 번에 모든 행을 표시한다는 뜻은 아닙니다.
의존성과 재사용
| 기능 | Code Repositories | Code Workspaces | Code Workbook |
|---|---|---|---|
| Data expectations의 운영 통합 | 지원 | 기본 제공하지 않음 | 기본 제공하지 않음 |
| 공유 라이브러리 발행 | 지원 | 이 흐름의 기본 발행 기능 없음 | 제공하지 않음 |
| 공유 라이브러리 사용 | 지원 | 지원 | 지원하는 환경에서 가능 |
| 폼 기반 코드 템플릿 | 제공하지 않음 | 제공하지 않음 | 지원 |
Code Repository는 Foundry 데이터 관리 라이브러리와 사용자 Python 라이브러리 발행을 관리합니다. Workspace는 pip, CRAN과 Conda를 포함한 환경을 조정하고 저장소에서 발행한 라이브러리도 사용할 수 있습니다. Workbook은 지원하는 환경에서 공유 라이브러리를 가져오고 자주 쓰는 로직을 폼 기반 템플릿으로 배포할 수 있습니다.
기본 통합 기능의 유무와 일반 프로그래밍 언어로 자체 검사나 파일을 작성할 수 있는 능력은 구분합니다.
변경 관리와 승인
| 기능 | Code Repositories | Code Workspaces | Code Workbook |
|---|---|---|---|
| 전체 Git 워크플로 | 지원 | 기반 Code Repository를 통해 지원 | UI는 가벼운 브랜치 흐름이며 전체 Git 조작을 제공하지 않음 |
| 병합 시 데이터 복사 | 제공하지 않음 | 제공하지 않음 | 선택적으로 지원 |
| 보안 표지 관리 및 전파 중단 | 지원 | 이 분석 흐름에서 제공하지 않음 | 제공하지 않음 |
| 데이터 영향 분석 화면 | 지원 | 제공하지 않음 | 저장소형 영향 분석 기능은 제공하지 않음 |
| 고급 코드 review 정책 | 지원 | 이 분석 흐름에서 제공하지 않음 | 제공하지 않음 |
| 통합 단위 테스트 흐름 | 지원 | 이 비교의 분석 기능으로 제공하지 않음 | 제공하지 않음 |
Code Repository는 완전한 변경 이력, 세밀한 검토 및 승인 정책과 테스트를 중심으로 운영합니다. Code Workspaces는 브랜치와 자동 Git 버전 관리에 기반하여 빠른 실험을 지원합니다. 노트북 내용의 안전한 checkpoint는 30일 보관되며 코드의 영구 백업은 Git 저장소에 남길 수 있습니다.
Workbook은 CI나 단위 테스트를 필수로 거치지 않고 빠르게 변경하며, 병합할 때 데이터 결과도 옮길 수 있습니다. 숨겨진 읽기 전용 저장소에 코드 이력은 남지만 사용자가 전체 Git 작업을 수행하는 일반 저장소와 같지는 않습니다.
다음 경로
운영 기능이 필요한 Workbook은 저장소 내보내기를 검토합니다. 기존 Workbook을 계속 운영하면 보호 브랜치와 batch build를 구성합니다. No-code와 코드 파이프라인 사이에서는 Pipeline Builder와 Code Repositories 선택의 기준을 적용합니다.