Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

IncrementalTransformOutput: 증분 Spark 출력

transforms.api.IncrementalTransformOutput은 TransformOutput에 증분 읽기 모드와 쓰기 의미를 추가합니다.

transforms.api.IncrementalTransformOutput(toutput, prev_txrid=None, mode="replace")

생성자 기본값과 실제 증분 실행의 쓰기 모드를 구분합니다. 실행 모드는 incremental의 상태 판단과 명시적인 set_mode 설정을 따릅니다.

메타데이터 속성

속성형식의미
batch_incremental_configurationBatchIncrementalConfiguration배치로 읽는 증분 입력의 설정
branchstr데이터셋 브랜치
column_descriptionsdict[str, str]열별 설명
column_typeclassesdict[str, str]열별 typeclass 메타데이터
start_transaction_ridstr읽기 범위의 시작 트랜잭션 RID
end_transaction_ridstr읽기 범위의 끝 트랜잭션 RID
pathstrCompass 경로
ridstr데이터셋 RID

dataframe(mode="current", schema=None)

added, current, previous 중 선택한 뷰를 PySpark DataFrame으로 반환합니다. 기본값은 current입니다. schema는 빈 DataFrame을 만들 때 사용할 pyspark.sql.types.StructType입니다.

previous 모드에서 이전 트랜잭션이 없으면 schema가 필요합니다. 이 상황에서 스키마를 전달하지 않으면 ValueError가 발생합니다. 실제 출력 열에 맞는 스키마를 사용합니다.

파일과 pandas 읽기

filesystem(mode="current")은 added, current, previous 뷰의 FileSystem을 제공합니다. current 파일시스템만 쓸 수 있습니다.

pandas(mode="current", schema=None)는 선택한 뷰의 pandas.DataFrame을 반환합니다. 모드 기본값은 current이며 빈 데이터 읽기에 사용할 schema를 전달할 수 있습니다.

출력 처리

from_transform_output(instance, delegate)는 delegate TransformOutput의 필드값을 instance에 설정하는 클래스 메서드입니다. abort()는 이 출력의 모든 작업을 중단하며 이 출력에서 얻은 writer의 호출 전후 작업도 무시합니다. abort는 1.7.0에 추가되었습니다.

set_mode(mode)

문자열 mode로 쓰기 모드를 바꿉니다. replace는 데이터셋을 대체하고, modify는 데이터를 추가하며, append는 데이터를 추가하되 기존 파일을 덮어쓰지 않습니다. 데이터를 쓴 뒤에는 모드를 바꿀 수 없습니다. set_mode는 1.61.0에 추가되었습니다.

표 쓰기

다음 메서드의 입력, 버킷 인자 짝 조건, parquet 기본 형식, 열 설명 800자 및 typeclass 문자열 100자 한도는 TransformOutput과 같습니다.

write_dataframe(df, partition_cols=None, bucket_cols=None, bucket_count=None,
                sort_by=None, output_format=None, options=None,
                column_descriptions=None, column_typeclasses=None)
write_pandas(pandas_df)

write_dataframe은 PySpark DataFrame, write_pandas는 pandas.DataFrame을 기록합니다. column_typeclasses의 중첩 쓰기 형식과 읽기 메타데이터 속성의 역할을 구분합니다.