Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

TransformContext: Spark 실행 맥락

transforms.api.TransformContext는 일반 Spark 변환의 compute 함수에 선택적으로 주입할 수 있는 객체입니다. 함수 인자에 ctx를 추가하여 사용합니다. transform으로 선언한 Spark 실행과 transform.using의 경량 실행은 서로 다른 맥락 유형을 사용합니다.

transforms.api.TransformContext(foundry_connector, parameters=None, environment={})

증분 Spark 변환에는 이를 확장한 IncrementalTransformContext가 주입됩니다. 경량 실행에는 LightweightContext를 사용합니다.

메서드 또는 속성형식동작
abort_job()메서드작업 실행을 종료하고 이 작업의 모든 출력 트랜잭션을 중단
auth_headerstr변환 실행에 사용하는 인증 헤더
environmentlist[str]의존 관계 해석을 마친 conda 패키지 목록
fallback_brancheslist[str]실행에 구성한 fallback 브랜치 목록
parametersdict[str, any]변환 매개변수
spark_sessionpyspark.sql.SparkSession변환에 사용하는 Spark 세션

실행 매개변수에 abort 값이 있으면 그 값에 따라 작업을 중단하는 사용 예시입니다. 값이 없거나 거짓이면 입력을 출력에 기록합니다.

from transforms.api import Input, Output, transform


@transform(
    my_input=Input("/path/to/input"),
    my_output=Output("/path/to/output"),
)
def my_compute_function(ctx, my_input, my_output):
    if ctx.parameters.get("abort"):
        ctx.abort_job()
    my_output.write_dataframe(my_input.dataframe())

auth_header는 변환 실행에 사용하는 인증 정보입니다. 로그나 출력 데이터셋에 기록하지 않습니다.