본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

변환 클래스들

클래스설명
CheckData Health에 등록할 수 있는 기대치를 포장합니다.
FileStatusFoundryFS 파일에 대한 세부 정보를 포착하는 collections.namedtuple.
FileSystem(foundry_fs[, read_only])데이터셋 파일을 읽고 쓰기 위한 파일시스템 객체.
IncrementalTransformContext(ctx, is_incremental)점진적 계산을 위한 기능이 추가된 TransformContext.
IncrementalTransformInput(tinput[, prev_txrid])점진적 계산을 위한 기능이 추가된 TransformInput.
IncrementalTransformOutput(toutput[, …])점진적 계산을 위한 기능이 추가된 TransformOutput.
Input(alias)변환 입력의 사양.
Output(alias[, sever_permissions])변환 출력의 사양.
Pipeline()Transform 객체 모음을 그룹화하는 객체.
Transform(compute_func[, inputs, outputs, ...])계산 단계를 설명하는 호출 가능한 객체.
TransformContext(foundry_connector[, parameters])변환의 계산 함수에 선택적으로 삽입할 수 있는 컨텍스트 객체.
TransformInput(rid, branch, txrange, …)런타임에 Transform 객체에 전달된 입력 객체.
TransformOutput(rid, branch, txrid, …)런타임에 Transform 객체에 전달된 출력 객체.

Check

클래스 transforms.api.Check

Data Health에 등록할 수 있는 기대치를 포장합니다.

  • expectation
    • Expectation – 평가할 기대치.
  • name
    • str – 시간이 지남에 따라 안정적인 식별자로 사용되는 검사 이름.
  • is_incremental
    • bool – 변환이 점진적으로 실행되는지 여부.
  • on_error
    • (str, Optional) – 기대치가 충족되지 않은 경우 취할 조치. 현재 'WARN', 'FAIL'이 있습니다.
  • description
    • (str, Optional) – 검사의 설명.

FileStatus

클래스 transforms.api.FileStatus

FoundryFS 파일에 대한 세부 정보를 포착하는 collections.namedtuple입니다.

새로운 FileStatus 인스턴스를 생성합니다(path, size, modified)

  • count(value) → 정수 -- 값 발생 횟수 반환
  • index(value[, start[, stop]]) → 정수 -- 값의 첫 번째 인덱스 반환
    • 값이 없으면 ValueError 발생
  • modified
    • 필드 번호 2의 별칭
  • path
    • 필드 번호 0의 별칭
  • size
    • 필드 번호 1의 별칭

FileSystem

클래스 transforms.api.FileSystem(foundry_fs, read_only=False)

데이터셋 파일을 읽고 쓰기 위한 파일시스템 객체입니다.

  • files(glob=None, regex='.*', show_hidden=False, packing_heuristic=None)
    • 이 데이터셋 내에서 접근할 수 있는 경로가 포함된 DataFrame을 생성합니다.
    • DataFrame은 파일 크기별로 파티션되며, 각 파티션에는 파일 경로가 포함되어 있으며, 이 파일 경로의 결합 크기는 최대 spark.files.maxPartitionBytes 바이트입니다. 파일의 크기는 디스크 파일 크기와 spark.files.openCostInBytes의 합계로 계산됩니다.
    • Parameters
      • glob (str, optional) – 유닉스 파일 일치 패턴. 글로브스타를 지원합니다. 파일(예: pdf)을 재귀적으로 검색하려면 **/*.pdf를 사용합니다.
      • regex (str, optional) – 파일 이름과 일치시킬 정규식 패턴.
      • show_hidden (bool, optional) – . 또는 _로 시작하는 숨겨진 파일을 포함합니다.
      • packing_heuristic (str, optional) – 스파크 파티션에 파일을 빈 패킹하는 데 사용할 휴리스틱을 지정합니다. 가능한 선택 사항은 ffd(First Fit Decreasing) 또는 wfd(Worst Fit Decreasing)입니다. wfd는 덜 균일한 분포를 생성하는 경향이 있지만 속도가 훨씬 빠르기 때문에 파일 수가 매우 많은 데이터셋에 대해 wfd가 권장됩니다. 휴리스틱을 지정하지 않으면 자동으로 선택됩니다.
    • Returns
      • (경로, 크기, 수정된) 데이터 프레임
    • Return type
      • pyspark.sql.DataFrame
  • ls(glob=None, regex='.*', show_hidden=False)
    • 모든 디렉터리를 재귀적으로 순회하고 데이터셋의 루트 디렉터리에서 시작하여 주어진 패턴과 일치하는 모든 파일을 나열합니다.
    • Parameters
      • glob (str, optional) – 유닉스 파일 일치 패턴. 글로브스타를 지원합니다. 파일(예: pdf)을 재귀적으로 검색하려면 **/*.pdf를 사용합니다.
      • regex (str, optional) – 파일 이름과 일치시킬 정규식 패턴.
      • show_hidden (bool, optional) – . 또는 _로 시작하는 숨겨진 파일을 포함합니다.
    • Yields
      • FileStatus - 논리 경로, 파일 크기(바이트), 수정된 타임스탬프(1970년 1월 1일 UTC 이후 밀리초).
  • open(_path, mode='r', kwargs)
    • 주어진 모드에서 FoundryFS 파일을 연다. kwargs는 키워드 인수입니다.
    • Parameters
      • path (str – 데이터셋에서 파일의 논리 경로.
      • kwargsio.open()에 전달되는 나머지 키워드 인수
      • show_hidden (bool, optional) – . 또는 _로 시작하는 숨겨진 파일을 포함합니다.
    • Returns
      • 스트림에 연결된 파이썬 파일과 유사한 객체.
    • Return type
      • 파일

IncrementalTransformContext

클래스 transforms.api.IncrementalTransformContext(ctx, is_incremental)

점진적 계산을 위한 기능이 추가된 TransformContext.

  • auth_header
    • str – 변환을 실행하는 데 사용되는 인증 헤더.
  • fallback_branches
    • List[str] – 변환을 실행할 때 구성된 폴백 브랜치.
  • is_incremental
    • bool – 변환이 점진적으로 실행되는지 여부.
  • parameters
    • dict of (str, any) – 변환 매개변수.
  • spark_session
    • pyspark.sql.SparkSession – 변환을 실행하는 데 사용되는 스파크 세션.

IncrementalTransformInput

클래스 transforms.api.IncrementalTransformInput(tinput, prev_txrid=None)

점진적 계산을 위한 기능이 추가된 TransformInput.

  • dataframe(mode='added')
    • 주어진 읽기 모드에 대한 pyspark.sql.DataFrame을 반환합니다.
    • current, previousadded 모드만 지원됩니다.
    • Parameters
      • mode (str, optional) – 읽기 모드로, current, previous, added, modified, removed 중 하나입니다. 기본값은 _added_입니다.
    • Returns
      • 데이터셋에 대한 데이터프레임.
    • Return type
  • filesystem(mode='added')
    • 주어진 읽기 모드에 대해 _FoundryFS_에서 읽기 위한 FileSystem 객체를 구성합니다.
    • current, previousadded 모드만 지원됩니다.
    • Parameters
      • mode (str, optional) – 읽기 모드로, current, previous, added, modified, removed 중 하나입니다. 기본값은 _added_입니다.
    • Returns
      • 주어진 뷰에 대한 파일시스템 객체.
    • Return type
  • pandas()
    • pandas.DataFrame: 입력 데이터셋의 전체 뷰를 포함하는 판다스 데이터프레임.
  • branch
    • str – 입력 데이터셋의 브랜치.
  • path
    • str – 입력 데이터셋의 프로젝트 경로.
  • rid
    • str – 데이터셋의 리소스 식별자.

IncrementalTransformOutput

클래스 transforms.api.IncrementalTransformOutput(toutput, prev_txrid=None, mode='replace')

점진적 계산을 위한 기능이 추가된 TransformOutput.

  • abort()
    • 트랜잭션을 중단하여 작업이 성공적으로 완료되도록 하면서 데이터를 작성하지 않습니다. 자세한 내용은 Python Abort를 참조하세요.
  • dataframe(mode='current', schema=None)
    • 주어진 읽기 모드에 대한 pyspark.sql.DataFrame을 반환합니다.
    • Parameters
      • mode (str, optional) – 읽기 모드로, current, previous, added, modified, removed 중 하나입니다. 기본값은 _current_입니다.
      • schema (pyspark.types.StructType, optional) - 빈 데이터프레임을 구성할 때 사용할 PySpark 스키마입니다. 읽기 모드 'previous'를 사용할 때 필요합니다.
    • Returns
      • 데이터셋에 대한 데이터프레임.
    • Return type
    • Raises
      • ValueError - 모드 ‘previous’를 사용할 때 스키마가 전달되지 않은 경우
  • filesystem(mode='current')
    • _FoundryFS_에 쓰기 위한 FileSystem 객체를 구성합니다.
    • Parameters
      • mode (str, optional) – 읽기 모드로, 추가, 현재 또는 이전 중 하나입니다. 기본값은 현재입니다. 현재 파일시스템만 쓰기 가능합니다.
    • Raises
  • pandas(mode='current')
    • pandas.DataFrame: 주어진 읽기 모드에 대한 판다스 데이터프레임.
  • set_mode(mode)
    • 데이터셋의 쓰기 모드를 변경합니다.
    • Parameters
      • mode (str) – 쓰기 모드로, ‘replace’ 또는 ‘modify’ 중 하나입니다. 수정 모드에서 출력에 쓰는 모든 내용이 데이터셋에 추가됩니다. 교체 모드에서 출력에 쓰는 모든 내용이 데이터셋을 대체합니다.

데이터가 작성된 후에는 쓰기 모드를 변경할 수 없습니다.

  • write_dataframe(df, partition_cols=None, bucket_cols=None, bucket_count=None, sort_by=None, output_format=None, options=None)
    • 주어진 DataFrame을 출력 데이터셋에 작성합니다.
    • Parameters
      • df (_pyspark.sql.DataFrame) – 작성할 PySpark 데이터프레임.
      • partition_cols (List[str], optional) - 데이터를 작성할 때 사용할 열 분할.
      • bucket_cols (List[str], optional) – 데이터를 버킷에 넣을 열. bucket_count가 주어지면 반드시 지정해야 합니다.
      • bucket_count (int, optional) – 버킷 수. bucket_cols가 주어지면 반드시 지정해야 합니다.
      • sort_by (List[str], optional) – 버킷화된 데이터를 정렬할 열.
      • output_format (str, optional) – 출력 파일 형식으로, 기본값은 ‘parquet’입니다.
      • options (dict, optional) – org.apache.spark.sql.DataFrameWriter#option(String, String)에 전달할 추가 옵션.
  • write_pandas(pandas_df)
  • branch
    • str – 데이터셋의 브랜치.
  • path
    • str – 데이터셋의 프로젝트 경로.
  • rid
    • str – 데이터셋의 리소스 식별자.

Input

클래스 transforms.api.Input(alias, branch, stop_propagating, stop_requiring, checks)

변환 입력의 사양입니다.

  • Parameters
    • alias (str, optional) – 데이터셋 rid 또는 데이터셋의 절대 프로젝트 경로. 지정하지 않으면 매개변수가 바인딩되지 않습니다.
    • branch (str, optional): 입력 데이터셋을 해결할 브랜치 이름. 지정되지 않으면 빌드 시간에 해결됩니다.
    • stop_propagating (Markings, optional): 이 입력에서 전파 중지할 보안 표시. Markingsremove inherited markings 문서를 참조하세요.
    • stop_requiring (OrgMarkings, optional): 이 입력에서 가정할 조직 표시.
    • checks (List[Check], Check, optional): 하나 이상의 :class:Check 객체.
    • failure_strategy (str, optional): 입력이 업데이트에 실패한 경우 전략. continue 또는 fail 중 하나여야 합니다. 지정되지 않으면 fail로 기본 설정됩니다.

Output

클래스 transforms.api.Output(alias=None, sever_permissions=False, checks=None)

변환 출력의 사양입니다.

  • Parameters
    • alias (str, optional) - 데이터셋 rid 또는 데이터셋의 절대 프로젝트 경로. 지정하지 않으면 매개변수가 바인딩되지 않습니다.
    • sever_permissions (bool, optional) - 참인 경우, 데이터셋의 권한을 입력 권한으로부터 분리합니다. 매개변수가 바인딩되지 않은 경우 무시됩니다.
    • checks (List[Check], Check, optional) - 하나 이상의 :class:Check 객체.

Pipeline

클래스 transforms.api.Pipeline

Transform 객체 모음을 그룹화하는 객체입니다.

  • add_transforms(*transforms)
    • 주어진 Transform 객체를 Pipeline 인스턴스에 등록합니다.
    • Parameters
      • transforms (Transform) – 등록할 변환.
    • Raises
      • ValueError – 여러 Transform 객체가 동일한 Output 별칭에 쓰는 경우.
  • discover_transforms(*modules)
    • 모듈을 재귀적으로 찾고 모듈 수준 변환을 가져옵니다.
    • 이 메서드는 주어진 모듈의 ___path___에서 모듈을 재귀적으로 찾고 가져옵니다. 찾은 각 모듈은 가져온 다음 Transform 인스턴스(변환 데코레이터에 의해 구성된)를 가진 모든 속성이 파이프라인에 등록됩니다.
    • Parameters
      • modules (module) – 검색을 시작할 모듈.
Copied!
1 2 3 >>> import myproject >>> p = Pipeline() # 파이프라인 객체 생성 >>> p.discover_transforms(myproject) # myproject에서 변환(discover_transforms)을 찾아 파이프라인에 추가

각각의 모듈이 발견되면 그것은 import됩니다. 모듈 레벨에서 코드를 실행하는 것을 피하십시오.

  • transforms
    • List[Transform] – 파이프라인에 등록된 변환들의 목록입니다.

Transform

class transforms.api.Transform(compute_func, inputs=None, outputs=None, profile=None)

단일 계산 단계를 설명하는 호출 가능한 객체입니다.

Transform는 여러 Input 사양, 여러 Output 사양, 그리고 계산 함수로 구성됩니다.

제공된 데코레이터를 사용하여 Transform 객체를 구성하는 것이 관례입니다: transform(), transform_df(), 그리고 transform_pandas().

참고: 원래의 계산 함수는 Transform의 __call__ 메소드를 통해 노출됩니다.

  • 파라미터

    • compute_func (Callable) – 래핑할 계산 함수입니다.
    • inputs (Dict[str, Input]) - 입력 이름을 Input 사양으로 매핑하는 사전입니다.
    • outputs (Dict[str, Output]) - 입력 이름을 Output 사양으로 매핑하는 사전입니다.
    • profile (str, optional) – 런타임에서 사용할 Transform 프로파일의 이름입니다.
  • compute(ctx=None, _kwargs_)**

    • 컨텍스트와 입력 및 출력 세트를 사용하여 변환을 계산합니다.
    • 파라미터
      • ctx (TransformContext, optional) – 변환에 요청이 있는 경우 변환에 전달되는 컨텍스트 객체입니다.
      • kwargs (TransformInput or TransformOutput) - 입력 이름을 Input 사양으로 매핑하는 사전입니다. kwarg는 키워드 인수의 약어입니다.
      • outputs (Dict[str, Output]) - 계산 함수에 이름별로 전달되는 입력, 출력 및 컨텍스트 객체입니다.
    • 반환
      • 변환을 실행한 후의 출력 객체입니다.
    • 반환 유형
  • version

    • str – 논리적으로 구식인지 판단할 때 두 개의 변환 버전을 비교하는 데 사용되는 문자열입니다.
    • 예를 들어, SQL 변환은 SQL 쿼리의 해시를 가져올 수 있습니다. 이상적으로 SQL 쿼리는 의미상 동등한 변환에 대해 동일한 버전을 산출하는 형식으로 변환되어야 합니다. 즉, SQL 쿼리 select A, B from foo;SQL 쿼리 select A, B from (select * from foo);와 같은 버전이어야 합니다.
    • 버전이 지정되지 않은 경우 저장소의 버전이 사용됩니다.
    • 오류 발생
      • ValueError – 계산 함수의 객체 해시를 계산하지 못한 경우

TransformContext

class transforms.api.TransformContext(foundry_connector, parameters=None) 계산 함수에 선택적으로 주입할 수 있는 컨텍스트 객체입니다.

  • auth_header
    • str – 변환을 실행하는 데 사용되는 인증 헤더입니다. 이 인증 헤더는 제한된 범위를 가지며 작업을 실행하는 데 필요한 권한만을 가지고 있습니다. API 호출에는 사용되어서는 안됩니다.
  • fallback_branches
    • List[str] – 변환을 실행할 때 설정된 대체 브랜치입니다.
  • parameters
    • dict of (str, any) – 변환 파라미터입니다.
  • spark_session
    • pyspark.sql.SparkSession – 변환을 실행하는 데 사용되는 Spark 세션입니다.

TransformInput

class transforms.api.TransformInput(rid, branch, txrange, dfreader, fsbuilder)

런타임에 Transform 객체로 전달되는 입력 객체입니다.

  • dataframe()
  • filesystem()
    • _FoundryFS_에서 읽기 위한 FileSystem 객체를 구성합니다.
    • 반환
      • Foundry에서 읽기 위한 FileSystem 객체입니다.
    • 반환 유형
  • pandas()
    • pandas.DataFrame: 입력 데이터셋의 전체 뷰를 포함하는 Pandas 데이터프레임입니다.
  • branch
    • str – 입력 데이터셋의 브랜치입니다.
  • path
    • str – 입력 데이터셋의 프로젝트 경로입니다.
  • rid
    • str – 데이터셋의 리소스 식별자입니다.
  • column_descriptions
    • Dict<str, str> – 데이터셋의 열 설명입니다.
  • column_typeclasses
    • Dict<str, str> – 데이터셋의 열 유형 클래스입니다.

TransformOutput

class transforms.api.TransformOutput(rid, branch, txrid, dfreader, dfwriter, fsbuilder)

런타임에 Transform 객체로 전달되는 출력 객체입니다.

  • abort()
    • 트랜잭션을 중단하여 데이터를 작성하지 않고 작업을 성공적으로 완료할 수 있도록 합니다. 자세한 내용은 Python Abort를 참조하십시오.
  • dataframe()
  • filesystem()
    • _FoundryFS_에 쓰기 위한 FileSystem 객체를 구성합니다.
    • 반환
      • _Foundry_에 쓰기 위한 FileSystem 객체입니다.
  • 반환 유형
  • pandas()
    • pandas.DataFrame: 출력 데이터셋의 전체 뷰를 포함하는 Pandas 데이터프레임입니다.
  • set_mode(mode)
    • 데이터셋의 쓰기 모드를 변경합니다.
    • 파라미터
      • mode (str) – 쓰기 모드로, ‘replace’ 또는 ‘modify’ 중 하나입니다. 수정 모드에서 출력에 쓰는 것은 데이터셋에 추가됩니다. 대체 모드에서 출력에 쓰는 것은 데이터셋을 대체합니다.
  • 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)
    • 주어진 DataFrame을 출력 데이터셋에 씁니다.
    • 파라미터
      • df (pyspark.sql.DataFrame) – 쓰려는 PySpark 데이터프레임입니다.
      • partition_cols (List[str], optional) - 데이터 쓰기 시 사용할 열 분할입니다.
      • bucket_cols (List[str], optional) - 데이터를 어느 열로 버킷화할지를 결정하는 열입니다. bucket_count가 주어진 경우 반드시 지정해야 합니다.
      • bucket_count (int, optional) – 버킷의 수입니다. bucket_cols가 주어진 경우 반드시 지정해야 합니다.
      • sort_by (List[str], optional) - 버킷화된 데이터를 어느 열로 정렬할지를 결정하는 열입니다.
      • output_format (str, optional) - 출력 파일 형식으로, 기본값은 'parquet'입니다. 파일 형식은 Spark의 DataFrameWriter를 기반으로 하며, 다른 유형에는 'csv', 'json', 'orc' 및 'text'가 포함됩니다.
      • options (dict, optional) - org.apache.spark.sql.DataFrameWriter#option(String, String)에 전달할 추가 옵션입니다.
      • column_descriptions (Dict[str, str], optional) - 열 이름과 그들의 문자열 설명을 매핑하는 맵입니다. 이 맵은 DataFrame의 열과 교차되며, 설명을 포함해야 합니다 (최대 800자).
      • column_typeclasses (Dict[str, List[Dict[str, str]], optional) - 열 이름과 그들의 열 유형 클래스를 매핑하는 맵입니다. 리스트의 각 유형 클래스는 _Dict[str, str]_로, 유효한 키는 "name"과 "kind" 두 가지뿐입니다. 이 키들은 각각 사용자가 원하는 해당 문자열을 매핑합니다.
  • write_pandas(pandas_df)
  • branch
    • str – 데이터셋의 브랜치입니다.
  • path
    • str – 데이터셋의 프로젝트 경로입니다.
  • rid
    • str – 데이터셋의 리소스 식별자입니다.