개인 재정 Hadoop에서 데이터 압축 - 더미

Hadoop에서 데이터 압축 - 더미

비디오: ScyllaDB 데이터 압축방식별 퍼포먼스 차이 연구 , 실시간 비정형데이터처리 (연구자 팀노바 4기 이소현) 2024

비디오: ScyllaDB 데이터 압축방식별 퍼포먼스 차이 연구 , 실시간 비정형데이터처리 (연구자 팀노바 4기 이소현) 2024
Anonim

일반적인 Hadoop 배포의 현실적인 거대한 데이터 볼륨은 압축을 필요로합니다. 데이터 압축을 사용하면 많은 저장 공간을 절약 할 수 있으며 클러스터 전체에서 해당 데이터의 이동 속도를 높일 수 있습니다. 당연히 코덱이라고하는 사용 가능한 여러 가지 압축 구성표를 고려해야합니다.

Hadoop 배치에서는 상당히 많은 수의 개별 슬레이브 노드 (잠재적으로)가 다수의 대형 디스크 드라이브를 가지고있다. 개별 슬레이브 노드가 HDFS에 사용할 수있는 원시 스토리지 공간이 45TB 이상인 것은 흔한 일입니다.

분할 가능한 압축 은 Hadoop 컨텍스트에서 중요한 개념입니다. Hadoop의 작동 방식은 파일의 블록 크기 설정보다 큰 경우 파일을 분할하고 개별 파일 분할을 다른 매퍼가 동시에 처리 할 수 ​​있다는 것입니다. MapReduce 작업의 입력 파일에 압축 된 데이터가 포함되어 있으면 HDFS에서 해당 데이터를 읽는 데 필요한 시간이 줄어들고 작업 성능이 향상됩니다. 입력 데이터는 MapReduce에서 읽을 때 자동으로 압축 해제됩니다.

입력 파일 이름 확장자는 지원되는 코덱이 데이터를 자동으로 압축 해제하는 데 사용되는지 결정합니다. 예를 들어, a. gz 확장자는 파일을 gzip으로 압축 된 파일로 식별합니다. 또한 MapReduce 처리 흐름에서 맵 단계의 중간 출력을 압축하는 것이 유용 할 수 있습니다. 맵 기능 출력이 디스크에 기록되고 네트워크를 통해 축소 작업에 전달되므로 출력을 압축하면 성능이 크게 향상 될 수 있습니다.

향후 사용을 위해 MapReduce 출력을 히스토리 파일로 저장하려는 경우이 데이터를 압축하면 HDFS에서 필요한 공간이 크게 줄어들 수 있습니다. 많은 다른 압축 알고리즘과 도구가 있으며 그 특성과 장점은 다양합니다. 가장 일반적인 절충은 압축 비율 (파일이 압축되는 정도)과 압축 / 압축 해제 속도 사이입니다. Hadoop 프레임 워크는 여러 코덱을 지원합니다. 프레임 워크는 대부분의 입력 및 출력 파일 형식을 투명하게 압축하고 압축을 해제합니다. 다음 목록은 Hadoop 프레임 워크에서 지원하는 일반적인 코덱을 나타냅니다. 특정 유스 케이스의 요구 사항에 가장 근접한 코덱을 선택하십시오 (예: 처리 속도가 중요한 작업 부하에서 높은 압축 해제 속도의 코덱을 선택).

Gzip:

A 압축 GNU 프로젝트에서 채택한 유틸리티 인 Gzip (GNU zip의 줄임말)은 a. gz 확장자. gunzip 명령을 사용하여 Gzip을 비롯한 여러 압축 유틸리티로 만든 파일의 압축을 풀 수 있습니다.

Bzip2:

사용성 관점에서 Bzip2와 Gzip은 비슷합니다. Bzip2는 Gzip보다 우수한 압축률을 생성하지만 훨씬 느립니다. 사실, Hadoop의 모든 사용 가능한 압축 코덱 중에서 Bzip2가 가장 느립니다.

거의 쿼리 할 필요가없는 아카이브를 설정하고 공간에 높은 프리미엄이 있다면 Bzip2를 고려할 가치가 있습니다.

Snappy:

Google의 Snappy 코덱은 적당한 압축 비율을 제공하지만 빠른 압축 및 압축 해제 속도를 제공합니다. (실제로는 압축 해제 속도가 가장 빠르기 때문에 자주 쿼리 할 가능성이 높은 데이터 세트의 경우 매우 바람직합니다.)

Snappy 코덱은 다른 Hadoop 하위 프로젝트를 지원하는 공통 유틸리티 세트 인 Hadoop Common에 통합되어 있습니다. Snappy를 Snappy 코덱 지원을 아직 제공하지 않는 최신 버전의 Hadoop에 대한 애드온으로 사용할 수 있습니다.

LZO:

Snappy와 마찬가지로 LZO (Lempel-Ziv-Oberhumer의 약자로 컴퓨터 과학자의 트리오)는 적당한 압축비를 제공하지만 빠른 압축 및 압축 해제 속도를 제공합니다. LZO는 GNU Public License (GPL)에 따라 라이센스가 부여됩니다.

LZO는 MapReduce 작업에 의한 압축 텍스트 파일 분할의 병렬 처리를 가능하게하는 분할 가능한 압축을 지원합니다. 가변 길이 압축 블록에서는 매퍼에게 압축 파일을 안전하게 분할 할 수있는 위치를 알려주기 위해 LZO가 파일을 압축 할 때 색인을 작성해야합니다. LZO는 텍스트 파일을 압축해야하는 경우에만 바람직합니다.

Hadoop 코덱

  • 코덱 파일 확장자

  • Splittable? 압축률 압축 속도

    Gzip

  • . 중간 중간

    Bzip2

  • . bz2

    높음

느림

Hadoop에서 데이터 압축 - 더미

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...

빠른 . 자연스럽지 않은 아니요 보통 빠름
LZO . lzo 아니요, 인덱싱되지 않은 경우 없음 중간 고속
모든 압축 알고리즘은 압축 정도와 압축 속도 사이에서 균형을 유지해야합니다. 나열된 코덱은 압축 시간과 속도 사이의 균형이 압축 시간에 있어야하는 것을 제어 할 수 있습니다. 예를 들어 Gzip에서는 음의 정수 (또는 키워드)를 지정하여 압축 속도를 조절할 수 있습니다. 여기서 -1은 가장 빠른 압축 수준을 나타내고 -9는 가장 느린 압축 수준을 나타냅니다. 기본 압축 수준은 -6입니다.