복원된 객체 읽기 - 아마존 EMR

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

복원된 객체 읽기

Amazon EMR 릴리스 7.2.0 이상에서는 프로토콜을 사용하여 테이블의 S3 위치에서 복원된 Glacier 객체를 읽을 수 있습니다. S3A 이전 릴리스의 엔진은 Glacier Deep Archive 파일과 Glacier Deep Archive 파일을 구분하지 않으므로 진행 중인 Glacier 파일에 액세스하려고 AmazonS3Exception 하면 파일을 받게 됩니다. S3A 이 읽기 작업은 아카이브된 Glacier 파일이 아직 복원 진행 중인 경우 해당 파일을 무시합니다. 이 동작을 활성화하려면 설정을 사용하세요. fs.s3a.glacier.read.restored.objects 이 설정은 세 가지 값일 수 있습니다.

  • READ_ ALL — 이 값은 Amazon S3에서 검색된 스토리지 클래스를 Amazon이 고려하지 EMR 않아야 함을 나타냅니다. 이는 기본 설정 동작입니다.

  • SKIP_ ALL _ GLACIER — 이 값은 Amazon이 Glacier 스토리지 클래스로 태그가 지정된 모든 S3 객체를 무시하고 다른 모든 객체를 EMR 검색해야 함을 나타냅니다. 이는 글레이셔 객체와 관련된 Amazon Athena의 기본 동작입니다.

  • READ_ RESTORED _ GLACIER _ OBJECTS — 이 값은 Amazon이 Glacier 객체의 복원 상태를 EMR 확인해야 함을 나타냅니다. Amazon에서 객체를 EMR 복원할 수 있는 경우 일반 S3 객체처럼 읽을 수 있습니다. 그렇지 않으면 Amazon은 S3 Glacier의 객체를 EMR 무시합니다.

Spark

Spark를 사용할 때 복원된 객체를 읽으려면 다음 구성을 사용하십시오.

--conf spark.hadoop.fs.s3a.glacier.read.restored.objects=<value>

spark-sql을 사용하는 경우 다음 구성을 대신 사용하십시오.

spark-sql --conf spark.hadoop.fs.s3a.glacier.read.restored.objects=<value>

Flink

Flink를 사용하는 경우 파일에서 구성을 설정할 수 있습니다. flink-conf.yaml

fs.s3a.glacier.read.restored.objects: <value>

flink-conf분류를 설정할 수도 있습니다.

[ { "Classification": "flink-conf", "Properties": { "fs.s3a.glacier.read.restored.objects":"<value>" } } ]

Hive

Hive를 사용하는 경우 hive-site.xml 파일에서 구성을 설정하십시오.

<property> <name>fs.s3a.glacier.read.restored.objects</name> <value><value></value> </property>

CLIHive를 사용하여 속성을 설정할 수도 있습니다. --hiveconf

hive --hiveconf fs.s3a.glacier.read.restored.objects=<value>

고려 사항

S3 Glacier에서 복원된 객체를 읽을 때는 다음 고려 사항을 참고하십시오.

  • S3A스키마 또는 를 S3AFileSystem 사용하여 데이터에 액세스하는 경우에만 복원된 객체를 읽을 수 있습니다.

  • 복원된 Glacier 객체를 읽을 때 EMR Amazon은 객체 자체를 복원하지 않습니다. 이렇게 하려면 AWS CLI 또는 를 사용해야 합니다. AWS SDK