Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Workbook을 Code Repository로 이전하기

Python 및 SQL 노드를 Code Repository로 내보내면 새 브랜치에 저장소용 변환 코드가 만들어집니다. 전체 Git 이력과 운영 파이프라인 기능을 사용할 때 적합합니다. 대상 저장소에 최소 Editor 권한이 있어야 합니다.

지원 범위와 일회성 변환

SQL 노드 또는 Pandas 및 Spark DataFrame을 입출력으로 사용하는 Python 코드 노드를 지원합니다. 선택한 노드들은 연결된 그래프여야 하며 루트에는 가져온 데이터셋이 있어야 합니다.

Python transform input과 Object 입력은 지원하지 않습니다. R 노드도 이 내보내기 경로의 지원 대상이 아닙니다. 대상 저장소에는 필요한 언어 하위 프로젝트가 있어야 하므로 Python과 SQL을 함께 옮기려면 둘 모두 준비합니다.

내보내기는 한 번의 단방향 변환입니다. 이후 Workbook 변경이 저장소로 자동 전달되지 않으며 같은 데이터셋들을 같은 저장소로 다시 내보내는 것도 지원하지 않습니다. Code Repository의 코드를 Workbook으로 역변환할 수 없습니다.

생성한 코드는 best-effort 변환이므로 파일 배치, 데이터셋 이름과 경로, import 및 패키지를 조정해야 할 수 있습니다.

노드 선택과 PR

Workbook의 설정 톱니바퀴에서 Export to Code Repository Helper를 엽니다.

Select Repository로 대상 저장소를 선택합니다.

왼쪽 체크박스로 내보낼 데이터셋을 선택합니다. 흰 노드는 선택 가능하고 회색 노드는 현재 조건에서 선택할 수 없습니다. 회색 노드에 마우스를 올려 사유를 봅니다. 연결된 그래프를 만들도록 다른 노드를 선택하면 추가 노드가 선택 가능해질 수 있습니다.

Create pull request를 선택하면 대상에 새 브랜치와 변경이 생성됩니다. View pull request로 저장소의 제안을 엽니다.

데이터셋 경로와 이름 등 필요한 내용을 검토하고 수정합니다.

Python 출력들은 transforms-python/src/codeWorkbookExport에 생성됩니다. transforms-python/src/myproject/pipeline.py에서 올바르게 import하고 파이프라인에 등록했는지 확인합니다.

Workbook의 사용자 지정 패키지 버전은 transforms-python/conda_recipe/meta.yml에 추가됩니다.

Workbook과 Code Repositories가 지원하는 패키지 집합은 완전히 같지 않습니다. 필요한 조정을 마치고 저장소 checks와 검토 절차를 거쳐 PR을 병합합니다.

기존 출력 데이터셋을 계속 사용

기본 내보내기는 새 출력 데이터셋을 만듭니다. 기존 Workbook 출력에 계속 쓰려면 소유한 job specification을 저장소로 넘겨야 합니다.

  1. 생성한 저장소 브랜치에서 출력 경로를 기존 데이터셋 경로로 바꿉니다.
  2. 각 대상 데이터셋의 Details에서 기존 job spec을 삭제합니다.
  3. PR 검토와 병합 절차를 진행합니다. 저장소 CI checks가 실행되면 대상 데이터셋에 새 job spec이 생성됩니다.

이후 원래 Workbook은 해당 데이터셋에 쓸 수 없습니다. 운영 쓰기 주체가 바뀌므로 출력별 대상과 기존 스케줄을 확인해야 합니다. 혼동을 막기 위해 내보낸 Workbook 노드를 제거하는 방법도 검토할 수 있습니다.