DynamicFrameReader 수업 - AWS Glue

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

DynamicFrameReader 수업

 - 메서드 -

__init__

__init__(glue_context)

from_rdd

from_rdd(data, name, schema=None, sampleRatio=None)

탄력적 분산형 데이터셋(RDD)로부터 DynamicFrame을 판독합니다.

  • data - 읽어야 할 데이터 집합입니다.

  • name - 읽어야 할 이름입니다.

  • schema - 판독할 스키마입니다(선택 사항).

  • sampleRatio - 사용할 예제 비율입니다(선택 사항).

from_options

from_options(connection_type, connection_options={}, format=None, format_options={}, transformation_ctx="")

지정한 연결 및 포맷을 사용하여 DynamicFrame를 판독합니다.

  • connection_type - 연결 유형입니다. 유효한 값에는 s3, mysql, postgresql, redshift, sqlserver, oracle, dynamodb, snowflake가 있습니다.

  • connection_options - 경로 및 데이터베이스 테이블과 같은 연결 옵션입니다(선택 사항). 자세한 내용은 AWS Glue for Spark의 ETL 연결 유형 및 옵션을 참조하십시오. s3connection_type의 경우, Amazon S3 경로가 배열에 정의됩니다.

    connection_options = {"paths": [ "s3://mybucket/object_a", "s3://mybucket/object_b"]}

    JDBC 연결의 경우, 몇 까지 속성이 정의되어야 합니다. 단, 데이터베이스 이름이 URL의 일부여야 합니다. 연결 옵션에 선택적으로 포함될 수 있습니다.

    주의

    스크립트에 암호를 저장하는 것은 권장되지 않습니다. AWS Secrets Manager 또는 AWS Glue 데이터 카탈로그에서 데이터를 검색하는 boto3 데 사용하는 것을 고려해 보십시오.

    connection_options = {"url": "jdbc-url/database", "user": "username", "password": passwordVariable,"dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path"}

    병렬 읽기를 수행하는 JDBC 연결의 경우 해시 필드 옵션을 설정할 수 있습니다. 예:

    connection_options = {"url": "jdbc-url/database", "user": "username", "password": passwordVariable,"dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path" , "hashfield": "month"}

    자세한 정보는 JDBC 테이블을 병렬로 읽기을 참조하세요.

  • format - 포맷 사양입니다(선택 사항). 여러 포맷을 지원하는 Amazon Simple Storage Service(Amazon S3) 또는 AWS Glue 연결에 사용됩니다. 지원되는 포맷은 AWS Glue for Spark에서 입력 및 출력의 데이터 형식 옵션를 참조하십시오.

  • format_options - 지정된 포맷에 대한 포맷 옵션입니다. 지원되는 포맷은 AWS Glue for Spark에서 입력 및 출력의 데이터 형식 옵션를 참조하십시오.

  • transformation_ctx - 사용할 변환 내용입니다(선택 사항).

  • push_down_predicate - 데이터 집합 내 모든 파일을 나열하거나 읽지 않아도 파티션에 필터링할 수 있습니다. 자세한 내용은 푸시다운 조건자를 사용하여 사전 필터링을 참조하세요.

from_catalog

from_catalog(database, table_name, redshift_tmp_dir="", transformation_ctx="", push_down_predicate="", additional_options={})

지정한 카탈로그 네임스페이스 및 테이블 이름을 사용하여 DynamicFrame를 판독합니다.

  • database - 읽어야 할 데이터베이스입니다.

  • table_name - 읽어올 테이블의 이름입니다.

  • redshift_tmp_dir – 사용할 Amazon Redshift 임시 디렉터리(Redshift에서 데이터를 읽지 않는 경우 선택 사항)입니다.

  • transformation_ctx - 사용할 변환 내용입니다(선택 사항).

  • push_down_predicate - 데이터 집합 내 모든 파일을 나열하거나 읽지 않아도 파티션에 필터링할 수 있습니다. 자세한 정보는 푸시다운 조건자를 사용하여 예비 필터링을 참조하세요.

  • additional_options - AWS Glue에 제공되는 추가 옵션입니다.

    • 병렬 읽기를 수행하는 JDBC 연결을 사용하기 위해 hashfield, hashexpression 또는 hashpartitions 옵션을 설정할 수 있습니다. 예:

      additional_options = {"hashfield": "month"}

      자세한 정보는 JDBC 테이블을 병렬로 읽기을 참조하세요.

    • 인덱스 열을 기준으로 필터링할 카탈로그 표현식을 전달하려면 catalogPartitionPredicate 옵션을 볼 수 있습니다.

      catalogPartitionPredicate - 카탈로그 표현식을 전달하여 인덱스 열을 기준으로 필터링할 수 있습니다. 이렇게 하면 필터링이 서버 측으로 푸시됩니다. 자세한 내용은 AWS Glue 파티션 인덱스를 참조하세요. push_down_predicatecatalogPartitionPredicate는 다른 구문을 사용합니다. 전자는 Spark SQL 표준 구문을 사용하고 후자는 JSQL 구문 분석기를 사용합니다.

      자세한 내용은 AWS Glue에서 ETL 출력의 파티션 관리을(를) 참조하세요.