복붙노트

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

HADOOP

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

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

URI에서 문자가 변경되면 왜 그렇게 달라질 수 있습니까? 예를 들어

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

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

이 변경의 기술적 차이점은 무엇입니까? 이 기사를 읽을 수있는 좋은 기사가 있습니까?

해결법

  1. ==============================

    1.URI 체계에서 문자 변경은 다른 소프트웨어가 S3에 인터페이스하는 데 사용되기 때문에 큰 차이를 만듭니다. 다소 http와 https의 차이점과 비슷하지만 한 글자 만 변경되었지만 행동에 큰 차이를 유발합니다.

    URI 체계에서 문자 변경은 다른 소프트웨어가 S3에 인터페이스하는 데 사용되기 때문에 큰 차이를 만듭니다. 다소 http와 https의 차이점과 비슷하지만 한 글자 만 변경되었지만 행동에 큰 차이를 유발합니다.

    s3과 s3n / s3a의 차이는 s3이 Amazon S3의 상단에있는 블록 기반 오버레이 인 반면 s3n / s3a는 그렇지 않은 것입니다 (객체 기반).

    s3n과 s3a의 차이점은 s3n이 최대 5GB 크기의 객체를 지원하는 반면 s3a는 최대 5TB의 객체를 지원하고 더 높은 성능을 제공한다는 것입니다. 둘 다 다중 부분 업로드를 사용하기 때문입니다. s3a는 s3n의 후속입니다.

    Amazon EMR과 함께 사용해야하는 S3 파일 시스템을 이해하기 위해 여기에 계신다면 Amazon에서이 기사를 읽으십시오 (웨이크 백에서만 사용 가능). 그물은 : s3 : // 및 s3n : //이 EMR의 컨텍스트에서 기능적으로 상호 교환 가능하기 때문에 s3 : //을 사용하십시오. 반면 s3a : //는 EMR과 호환되지 않습니다.

    추가 정보는 스토리지 및 파일 시스템에 대한 작업을 읽으십시오.

  2. ==============================

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

    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는 하둡 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 실제로 ListFiles () 호출에서 반환되는 블록 크기가 0이므로 Hadoop 2.6의 S3a에서 파티션이 깨졌습니다. Spark & ​​pig 파티션을 작업 / 바이트로 분할합니다. 핵심 파일 시스템 작업 및 데이터 생성이 행복하더라도 Hadoop 2.6에서 S3a를 분석 작업에 사용할 수는 없습니다. Hadoop 2.7에서는이를 수정했습니다.

    2018-01-10 Update Hadoop 3.0은 s3 : 및 s3n 구현을 중단했습니다. s3a 만 있으면됩니다. 이전 버전보다 훨씬 뛰어나고 Amazon 구현만큼 성능이 좋습니다. Amazon의 "s3 :"은 폐쇄 소스 클라이언트 인 EMR에서 제공합니다. 자세한 정보는 EMR 문서를 참조하십시오.

  3. from https://stackoverflow.com/questions/33356041/technically-what-is-the-difference-between-s3n-s3a-and-s3 by cc-by-sa and MIT license