IT

기술적으로 s3n, s3a 및 s3의 차이점은 무엇입니까?

lottoking 2020. 8. 19. 18:51
반응형

기술적으로 s3n, s3a 및 s3의 차이점은 무엇입니까?


https://wiki.apache.org/hadoop/AmazonS3 의 존재 와 다음 단어를 알고 있습니다 .

S3 기본 파일 시스템 (URI 체계 : s3n) S3에서 일반 파일을 읽고 쓰기 기본 파일 시스템입니다. 이 파일 시스템의 장점은 다른 도구로 S3의 파일에 액세스 할 수있는 것입니다. 다른 도구는 Hadoop을 사용하여 파일에 액세스 할 수 있습니다. 단점은 S3가 부과하는 파일 크기에 대한 5GB 제한입니다.

S3A (URI 체계 : s3a) S3 Native의 제품인 s3n fs 인 S3a : 시스템은 Amazon의 라이브러리를 사용하여 S3와 상호 작용합니다. S3a는 더 큰 파일 (5GB 제한 없음),이를 통해 작업 등을 지원할 수 있습니다. 파일 시스템은 S3 Native를 대체 / 다음하기위한 것입니다. s3n : // URL에서 액세스 할 수있는 모든 객체는 URL 스키마를 교체하여 s3a에서 액세스 할 수 있어야합니다.

S3 블록 파일 시스템 (URI 체계 : s3) S3가 지원하는 블록 기반 파일 시스템입니다. 파일은 HDFS에있는 것처럼 블록으로 저장됩니다. 이렇게하면 이름을 표현할 수 있습니다. 이 파일 시스템을 사용하는 경우 사용하는 파일 시스템 전용 버킷을 사용합니다. 파일이 포함 된 기존 버킷을 사용하거나 다른 파일을 동일한 버킷에 쓰면 하나. 이 파일 시스템에 저장된 파일은 5GB보다 클 수 있고 다른 S3 도구와 상호 운용 할 수 있습니다.

URI의 문자 변경이 왜 그런 차이를 만들 수 있습니까? 예를 들면

val data = sc.textFile("s3n://bucket-name/key")

val data = sc.textFile("s3a://bucket-name/key")

이 변경의 근본적인 차이점은 무엇입니까? 이것에 대해 읽을 수있는 좋은 기사가 있습니까?


URI 체계의 문자 변경은 S3에 인터페이스하는 데 다른 소프트웨어를 사용하기 때문에 큰 차이를 만듭니다. http와 https의 차이와 사고입니다. 한 글자 만 변경하는 동작에 큰 차이가 있습니다.

s3와 s3n / s3a의 차이점은 s3는 Amazon S3 위에있는 블록 기반 기계 인 반면 s3n / s3a는 즉 않다는 것입니다 (객체 기반 임).

sn과 s3a의 차이점은 s3n은 5GB 크기의 크기입니다. 지원하는 반면 s3a는 최대 5TB의 클래스를 지원하고 더 높은 성능을 제공한다는 것입니다. s3a는 s3n의 다 제품입니다.

Amazon EMR과 함께 사용하는 S3 파일 시스템을 이해하기 위해 여기에 온 경우 Amazon 에서이 기사 를 사용할 수 있습니다. net은 s3 : //를 사용하는 것입니다. s3 : // 및 s3n : //은 EMR과 상호 교환이 가능하지만 s3a : //는 EMR과 연결되지 않습니다.

추가 조언 은 스토리지 및 파일 시스템 작업을 참조하십시오 .


Apache Hadoop에서 "s3 : //"는 확장 성을 위해 비표준 구조를 원래 S3 클라이언트를 나타냅니다. 해당 라이브러리는 더 이상 사용하지 않고 곧 삭제 될 예정입니다.

s3n은 객체에 대한 직접 경로 이름을 사용하는 다음 제품에서 다른 응용 프로그램에서 데이터를 읽고 쓸 수 있습니다. s3 : //와 jets3t.jar을 사용하여 S3와 통신합니다.

Amazon의 EMR 서비스에서 s3 : //는 Amazon의 자체 S3 클라이언트를 확장 며. EMR에서 s3 : //의 경로는 객체 저장소의 객체를 직접 참조합니다.

Apache Hadoop에서 S3N과 S3A는 모두 S3에 대한 커넥터이며 S3A는 Amazon의 자체 AWS SDK를 사용하여 구축 된 제품입니다. 왜 새 이름입니까? 안정된 제품과 나란히 배송 할 수 있습니다. S3A는 확장 성, 성능, 보안되는 모든 지속적인 작업이 진행되는 곳입니다. S3N은 홀로 다리 져 있기 때문에 깨지지 않습니다. S3A는 Hadoop 2.6으로 주로 문제가 발생하면서 2.7 안정화되었습니다.

Hadoop 2.7 이상을 사용하는 경우 s3a를 사용하십시오. Hadoop 2.5 또는 이전 버전을 사용하는 경우. s3n, Hadoop 2.6을 사용하는 경우 더 어려운 선택입니다. -s3a를 시도하고 문제가 있으면 s3n으로 다시 전환합니다 .-

자세한 내역은 http://hortonworks.com/blog/history-apache-hadoops-support-amazon-s3/를 참조하십시오 .

2017-03-14 업데이트는 Hadoop 2.6의 S3a에서 파티셔닝이 중단되었습니다. listFiles()호출 에서 반환되는 블록 크기 가 0이기 때문입니다. Spark & ​​pig와 같은 것들은 작업을 하나의 작업 / 바이트로 분할합니다. 핵심 파일 시스템 작업 데이터 생성이 만족스럽고 Hadoop 2.6에서 분석 작업에 S3a를 사용할 수 없습니다. Hadoop 2.7 은이를 수정합니다.

2018-01-10 Update Hadoop 3.0은 s3 : 및 s3n 구현을 줄였습니다. s3a 만 있으면됩니다. 이제 이전 버전보다 우수한 성능을 최소한으로 제공합니다. Amazon의 "s3 :"는 여전히 폐쇄 소스 클라이언트 인 EMR에서 제공합니다. 자세한 내용은 EMR 문서 를 참조하십시오.

참고 URL : https://stackoverflow.com/questions/33356041/technically-what-is-the-difference-between-s3n-s3a-and-s3

반응형