기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
복원된 객체 읽기
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