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_header | str | 변환 실행에 사용하는 인증 헤더 |
environment | list[str] | 의존 관계 해석을 마친 conda 패키지 목록 |
fallback_branches | list[str] | 실행에 구성한 fallback 브랜치 목록 |
parameters | dict[str, any] | 변환 매개변수 |
spark_session | pyspark.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는 변환 실행에 사용하는 인증 정보입니다. 로그나 출력 데이터셋에 기록하지 않습니다.