Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

변환 언어 선택: SQL, Python, Java

SQL, Python과 Java는 모두 공개 언어 문서와 생태계를 사용할 수 있지만 Foundry 변환 API에서 제공하는 기능은 다릅니다. 표 연산만 필요한지, 파일을 직접 다루는지, 증분 계산이나 여러 출력을 사용하는지를 기준으로 선택합니다.

기능SQLPythonJava
비독점 언어와 공개 언어 문서지원지원지원
데이터셋 파일 직접 읽기 및 쓰기미지원지원지원
변환 단위 로직 버전 관리(TLLV)지원지원미지원
증분 계산 API미지원지원지원
상속된 보안 표지 제거지원지원지원
코드 파일 하나에서 여러 출력 데이터셋 정의미지원지원지원
데이터셋 미리보기지원지원지원
사용자 지정 Transforms 프로필지원지원지원

보안 표지 제거를 지원한다는 것은 언어에서 해당 구성을 표현할 수 있다는 뜻입니다. 제거 권한과 데이터 공개의 적절성까지 자동으로 충족되는 것은 아닙니다.

SQL

SQL은 선택, 필터, 조인과 집계를 선언적으로 표현하기에 적합합니다. Spark SQL은 데이터 구조와 연산 정보를 이용하여 실행을 최적화합니다. SQL과 DataFrame API는 같은 실행 엔진을 사용하므로 실제 성능은 표현한 연산과 실행 계획에 따라 달라집니다.

Transforms SQL에는 SQL scratchpad가 있어 샘플 쿼리로 구문을 확인할 수 있습니다. 구문 확인과 실제 빌드 출력의 정확성 검증은 별개입니다. 파일 단위 파싱이나 증분 상태 관리가 필요한 단계에는 Python 또는 Java API가 더 적합합니다.

Python

Python은 SQL보다 낮은 수준에서 파일, 데이터프레임과 외부 라이브러리를 제어할 수 있습니다.

  • transforms 라이브러리로 데이터셋 파일을 읽고 쓸 수 있습니다. 파이프라인 앞부분에서 원시 파일을 파싱하고 정리하는 데 사용할 수 있습니다.
  • pandas, NumPy와 머신러닝 라이브러리 등 Python 생태계를 활용할 수 있습니다.
  • PySpark API를 사용하여 Spark의 기능을 직접 호출할 수 있습니다.

파일 접근과 증분 계산, 여러 출력 및 TLLV가 모두 필요하면 이 지원 범위를 함께 활용할 수 있습니다. 라이브러리는 저장소 의존성으로 관리하고 필요한 실행 자원을 프로필에 반영합니다.

Java

Java 변환 API도 파일 읽기와 쓰기를 제공하며 원시 파일의 파싱 및 정리에 사용할 수 있습니다. Java 언어의 기능과 라이브러리가 필요한 경우에 적합하고, 증분 계산과 여러 출력 데이터셋을 지원합니다.

Java는 이 비교에서 TLLV를 지원하지 않습니다. 변환 단위 로직 변경의 적용 범위가 중요한 파이프라인이라면 언어 기능뿐 아니라 빌드와 버전 관리 방식도 함께 고려합니다.