Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Pipeline Builder를 Java 코드로 내보내기

Standard 배치(Spark) 파이프라인은 기존 Java transforms 저장소로 내보낼 수 있습니다. 특정 Java 라이브러리를 사용해야 하는 경우에 활용할 수 있습니다. Faster 및 스트리밍 파이프라인은 지원하지 않으며 해당 유형에서는 Settings에 내보내기 항목도 나타나지 않습니다.

내보내기 전 조건

대상 Java transforms 저장소가 먼저 있어야 합니다. 내보내기는 대상 브랜치에 있는 기존 코드와 파일을 모두 삭제하고 생성한 코드로 덮어씁니다. 보호할 내용이 있는 브랜치를 그대로 선택하지 말고 대상과 범위를 확인해야 합니다.

변환은 단방향입니다. 내보낸 Java 코드를 수정한 뒤 이를 Pipeline Builder로 다시 가져오는 기능은 없습니다. 일부 변환은 코드로 생성할 수 없으며 생성 가능한 표현식도 특정 경계 사례에서 Builder 결과와 다를 수 있습니다.

대상과 브랜치 선택

파이프라인에서 Settings > Export code를 엽니다. 기존 대상 Java transforms 저장소를 검색해 선택하고, 내보낼 Builder 브랜치를 지정합니다. 대상 저장소에 새 브랜치를 만들어 사용할 수도 있습니다.

생성 결과는 저장소의 transforms-java/src/main/java/com/ 아래 PipelineLogic.java와 PipelineOutputs.java에 들어갑니다.

지원되지 않는 연산과 동작 차이

다음 기능은 코드 생성에서 완전하게 지원하지 않습니다.

  • 사용자 정의 함수(UDF)입니다.
  • LLM 호출, embedding을 포함한 모델 호출입니다.
  • 미디어 연산입니다.
  • 지리 시계열 관련 기능입니다.

지원하지 않는 부분은 생성 코드의 todo 블록으로 나타나므로 실제 동작을 직접 구현해야 합니다. 이런 부분을 남긴 코드는 원래 파이프라인을 대체하는 완성된 실행 경로가 아닙니다.

일부 Builder 표현식에는 안정성과 오류 처리를 위한 별도 최적화가 있습니다. 내보내기에서는 이를 native Spark 표현식으로 바꾸므로 경계 사례의 결과가 달라질 수 있습니다. 지원되는 코드 생성 표현식은 Spark 테스트 사례를 기준으로 검증됩니다. 전체 파이프라인을 이전할 때에는 실제 입력으로 실행하여 Builder 결과와 대조합니다.

PySpark가 필요한 경우

기본 제공 내보내기는 Java Spark만 지원합니다. Java Spark 코드를 내보낸 뒤 LLM 등을 이용하여 PySpark로 변환할 수는 있지만 이 과정은 별도 코드 마이그레이션입니다. 지원되지 않던 기능의 구현과 데이터 결과 검증이 여전히 필요하며, 직접 PySpark를 생성하는 Builder 기능으로 취급하지 않습니다.