AWS Glue에서 Ion 형식 사용 - AWS Glue

AWS Glue에서 Ion 형식 사용

AWS Glue는 소스에서 데이터를 검색하고 다양한 데이터 형식으로 저장 및 전송되는 대상에 데이터를 씁니다. 데이터가 Ion 데이터 형식으로 저장 또는 전송되는 경우 이 문서에서는 AWS Glue에서 데이터를 사용하는 데 사용할 수 있는 기능을 소개합니다.

AWS Glue는 Ion 형식 사용을 지원합니다. 이 형식은 교환 가능한 이진 및 일반 텍스트 표현으로 데이터 구조(행 또는 열 기반이 아님)를 나타냅니다. 저자의 형식에 대한 소개는 Amazon Ion을 참조하세요. (자세한 내용은 Amazon Ion 상세 정보를 참조하십시오.)

AWS Glue를 사용하여 Amazon S3에서 Ion 파일을 읽을 수 있습니다. S3에서 Ion 파일이 포함된 bzipgzip 아카이브를 읽을 수 있습니다. 이 페이지에서 설명하는 구성 대신 Amazon S3 연결에서 압축 동작을 구성할 수 있습니다.

다음 표에서는 Ion 형식 옵션을 지원하는 일반적인 AWS Glue 기능을 보여 줍니다.

읽기(Read) 쓰기 스트리밍 읽기 작은 파일 그룹화 작업 북마크
지원 지원되지 않음 지원되지 않음 지원 지원되지 않음

예: S3에서 Ion 파일 및 폴더 읽기

사전 조건: 읽으려는 Ion 파일 또는 폴더에 대한 S3 경로(s3path)가 필요합니다.

구성: 함수 옵션에서 format="json"를 지정합니다. connection_options에서 paths 키를 사용하여 s3path를 지정합니다. connection_options에서 리더와 S3가 상호 작용하는 방식을 구성할 수 있습니다. 자세한 내용은 AWS Glue에서 ETL 관련 연결 유형 및 옵션 참조: "connectionType": "s3"

다음 AWS Glue ETL 스크립트는 S3에서 Ion 파일 또는 폴더를 읽는 프로세스를 보여 줍니다.

Python

이 예에서는 create_dynamic_frame.from_options 메서드를 사용합니다.

# Example: Read ION from S3 from pyspark.context import SparkContext from awsglue.context import GlueContext sc = SparkContext.getOrCreate() glueContext = GlueContext(sc) dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="s3", connection_options={"paths": ["s3://s3path"]}, format="ion" )
Scala

이 예에서는 getSourceWithFormat 작업을 사용합니다.

// Example: Read ION from S3 import com.amazonaws.services.glue.util.JsonOptions import com.amazonaws.services.glue.GlueContext import org.apache.spark.SparkContext object GlueApp { def main(sysArgs: Array[String]): Unit = { val spark: SparkContext = new SparkContext() val glueContext: GlueContext = new GlueContext(spark) val dynamicFrame = glueContext.getSourceWithFormat( connectionType="s3", format="ion", options=JsonOptions("""{"paths": ["s3://s3path"], "recurse": true}""") ).getDynamicFrame() } }

Ion 구성 참조

format="ion"을 위한 format_options 값은 없습니다.