Amazon S3 연결 - AWS Glue

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

Amazon S3 연결

AWS Glue for Spark를 사용하여 Amazon S3에서 파일을 읽고 쓸 수 있습니다. AWS Glue for Spark는 CSV, Avro, JSON, Orc, Parquet을 포함하여 기본적으로 Amazon S3에 저장되는 여러 가지 공통 데이터 형식을 지원합니다. 지원되는 데이터 형식에 대한 자세한 내용은 AWS Glue for Spark에서 입력 및 출력의 데이터 형식 옵션 섹션을 참조하세요. 각 데이터 형식은 AWS Glue 기능의 여러 가지 세트를 지원할 수 있습니다. 특정 기능 지원에 대해서는 해당 데이터 형식 페이지를 참조하세요. 또한 Hudi, Iceberg 및 Delta Lake 데이터 레이크 프레임워크에 저장되는 버전 관리되는 파일을 읽고 쓸 수 있습니다. 데이터 레이크 프레임워크에 대한 자세한 내용은 AWS Glue ETL 작업에서 데이터 레이크 프레임워크 사용 섹션을 참조하세요.

AWS Glue를 사용하면 쓰는 동안 Amazon S3 객체를 폴더 구조로 파티셔닝한 다음 파티션별로 검색하여 간단한 구성으로 성능을 개선할 수 있습니다. 성능을 개선하기 위해 데이터를 변환할 때 작은 파일을 함께 그룹화하도록 구성을 설정할 수도 있습니다. Amazon S3에서 bzip2gzip 아카이브를 읽고 쓸 수 있습니다.

S3 연결 구성

AWS Glue에서 Spark 작업으로 Amazon S3에 연결하려면 몇 가지 필수 조건이 필요합니다.

  • AWS Glue 작업에는 관련 Amazon S3 버킷에 대한 IAM 권한이 있어야 합니다.

경우에 따라 추가 필수 조건을 구성해야 합니다.

  • 크로스 계정 액세스를 구성할 때 Amazon S3 버킷에서 적절한 액세스 제어.

  • 보안상의 이유로 Amazon S3 요청을 Amazon VPC를 통해 라우팅하도록 선택할 수 있습니다. 단, 이러한 접근 방식은 대역폭 및 가용성 문제를 일으킬 수 있습니다. 자세한 내용은 Amazon S3용 Amazon VPC 엔드포인트 섹션을 참조하세요.

Amazon S3 연결 옵션 참조

Amazon S3에 대한 연결을 지정합니다.

Amazon S3에서는 테이블이 아닌 파일을 관리하므로 이 문서에 제공된 연결 속성을 지정하는 것 외에도 파일 유형에 대한 추가 구성을 지정해야 합니다. 데이터 형식 옵션을 통해 이 정보를 지정합니다. 형식 옵션에 대한 자세한 내용은 AWS Glue for Spark에서 입력 및 출력의 데이터 형식 옵션 섹션을 참조하세요. AWS Glue 데이터 카탈로그와 통합하여 이 정보를 지정할 수도 있습니다.

연결 옵션과 형식 옵션 간의 차이점에 대한 예로, create_dynamic_frame_from_options 메서드에서 connection_type, connection_options, formatformat_options를 사용하는 방법을 고려합니다. 이 섹션에서는 connection_options에 제공된 파라미터에 대해 자세히 논의합니다.

"connectionType": "s3"에는 다음 연결 옵션을 사용합니다.

  • "paths": (필수 사항) 읽을 소스 Amazon S3 경로 목록입니다.

  • "exclusions": (선택사항) 배제할 Unix 식 glob 패턴의 JSON 목록이 포함된 문자열. 예를 들어 "[\"**.pdf\"]"는 모든 PDF 파일을 제외합니다. AWS Glue에서 지원하는 glob 구문에 대한 자세한 내용은 포함 및 제외 패턴을 참조하십시오.

  • "compressionType": 또는 "compression": (선택 사항) 데이터 압축 방식을 지정합니다. Amazon S3 소스에는 "compressionType"을 사용하고 Amazon S3 대상에는 "compression"을 사용합니다. 이 작업은 데이터에 표준 파일 확장자가 있는 경우에는 필요하지 않습니다. 가능한 값은 "gzip""bzip2"입니다). 특정 형식에 대해 추가 압축 형식이 지원될 수 있습니다. 자세한 기능 지원은 데이터 형식 페이지를 참조하세요.

  • "groupFiles": (선택 사항) 입력에 50,000개 이상의 파일이 포함된 경우에는 기본적으로 파일 그룹화가 설정됩니다. 파일이 50,000개 미만일 때 그룹화를 설정하려면 이 파라미터를 "inPartition"으로 설정합니다. 파일이 50,000개 이상일 때 그룹화를 비활성화하려면 이 파라미터를 "none"으로 설정합니다.

  • "groupSize": (선택사항) 대상 그룹 크기(바이트). 입력 데이터 크기와 클러스터 크기에 따라 기본값을 계산합니다. 입력 파일이 50,000개 미만일 때는 "groupFiles""inPartition"으로 설정해야 적용됩니다.

  • "recurse": (선택사항) true로 설정할 경우 지정된 경로의 모든 하위 디렉터리에 있는 파일을 반복적으로 읽습니다.

  • "maxBand": (선택 사항, 고급) 이 옵션은 s3 목록이 일정할 것으로 예상하는 시간(밀리초)을 제어합니다. 마지막 maxBand밀리초에 속하는 수정 타임스탬프가 있는 파일은 특히 JobBookmarks를 사용하여 Amazon S3 최종 일관성을 고려할 때 추적됩니다. 대부분의 사용자는 이 옵션을 설정할 필요가 없습니다. 기본값은 900,000밀리초 또는 15분입니다.

  • "maxFilesInBand": (선택 사항, 고급) 이 옵션은 마지막 maxBand초부터 저장할 최대 파일 수를 지정합니다. 이 수를 초과할 경우 추가 파일은 건너뛰고 다음 작업 실행에서만 처리됩니다. 대부분의 사용자는 이 옵션을 설정할 필요가 없습니다.

  • "isFailFast": (선택 사항) 이 옵션은 AWS Glue ETL 작업에서 리더 구문 분석 예외가 발생하는지 여부를 결정합니다. true로 설정하면 Spark 태스크의 4번 재시도가 데이터를 제대로 구문 분석하지 못하면 작업이 빠르게 실패합니다.

  • "catalogPartitionPredicate": (선택 사항) 읽기에 사용됩니다. SQL WHERE 절의 콘텐츠입니다. 파티션 수가 매우 많은 데이터 카탈로그 테이블에서 읽을 때 사용됩니다. 데이터 카탈로그 인덱스에서 일치하는 파티션을 검색합니다. create_dynamic_frame_from_catalog 메서드 및 기타 유사한 메서드의 옵션인 push_down_predicate와 함께 사용됩니다. 자세한 내용은 카탈로그 파티션 조건자를 사용한 서버 측 필터링 섹션을 참조하세요.

  • "partitionKeys": (선택 사항) 쓰기에 사용됩니다. 열 레이블 문자열의 배열입니다. AWS Glue는 이 구성에 지정된 대로 데이터를 파티셔닝합니다. 자세한 내용은 파티션 작성 섹션을 참조하세요.

  • "excludeStorageClasses": (선택 사항) 읽기에 사용됩니다. Amazon S3 스토리지 클래스를 지정하는 문자열 배열입니다. AWS Glue는 이 구성을 기반으로 Amazon S3 객체를 제외합니다. 자세한 내용은 Amazon S3 스토리지 클래스 제외 섹션을 참조하세요.

데이터 형식에 대한 연결 구문은 더 이상 사용되지 않습니다.

특정 연결 유형 구문을 사용하여 특정 데이터 형식에 액세스할 수 있습니다. 이 구문은 더 이상 사용되지 않습니다. 대신 AWS Glue for Spark에서 입력 및 출력의 데이터 형식 옵션에 제공된 s3 연결 유형과 형식 옵션을 사용하여 형식을 지정하는 것이 좋습니다.

"connectionType": "Orc"

Amazon S3에 저장된 파일에 Apache ORC(Hive Optimized Row Columnar) 파일 포맷으로 연결을 지정합니다.

"connectionType": "orc"에는 다음 연결 옵션을 사용합니다.

  • paths: (필수 사항) 읽을 소스 Amazon S3 경로 목록입니다.

  • (기타 옵션 이름/값 페어): 형식 지정 옵션을 포함한 모든 추가 옵션이 SparkSQL DataSource에 직접 전달됩니다.

"connectionType": "parquet"

Amazon S3에 Apache Parquet 파일 포맷으로 저장된 파일에 대한 연결을 지정합니다.

"connectionType": "parquet"에는 다음 연결 옵션을 사용합니다.

  • paths: (필수 사항) 읽을 소스 Amazon S3 경로 목록입니다.

  • (기타 옵션 이름/값 페어): 형식 지정 옵션을 포함한 모든 추가 옵션이 SparkSQL DataSource에 직접 전달됩니다.