Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

ContainerTransform: 단일 노드 실행 객체

transforms.api.ContainerTransform은 경량 단일 노드 계산의 한 단계를 나타내는 호출 가능한 객체입니다. Param을 상속하는 매개변수들과 compute 함수로 구성합니다. 일반적인 생성 경로는 transform.using 데코레이터이며, 원래 compute 함수는 객체의 __call__()로 노출됩니다.

transforms.api.ContainerTransform(
    transform, *, cpu_cores=None, memory_mb=None, memory_gb=None,
    gpu_type=None, container_image=None, container_tag=None,
    container_shell_command=None, incremental_override=None,
    identifier_override=None,
)

생성자는 변환과 자원, 컨테이너 및 override 인자를 받습니다. 키워드 인자의 기본값은 모두 None입니다. 일반적인 자원 및 컨테이너 구성은 transform.using의 with_resources와 with_container 경로를 사용합니다.

증분 실행

incremental로 감싸 증분 실행할 수 있습니다. 비-Catalog 증분 입출력에는 v2_semantics=True가 필요합니다. 다음은 pandas를 run 의존성으로 추가한 저장소의 가상 예시입니다.

from transforms.api import Input, Output, incremental, transform


@incremental(v2_semantics=True)
@transform.using(
    my_input=Input("/path/to/input"),
    my_output=Output("/path/to/output"),
)
def compute(my_input, my_output):
    my_output.write_pandas(my_input.pandas())

reference

파이프라인 안에서 이 변환을 고유하게 식별하는 참조입니다. compute 함수의 이름이 바뀐 것을 반영하도록 접근할 때마다 다시 계산합니다.

하위 호환 이름인 ContainerTransformsConfiguration도 사용할 수 있습니다.