>  기사  >  Java  >  Hadoop 레코드의 특징Ⅰ

Hadoop 레코드의 특징Ⅰ

怪我咯
怪我咯원래의
2017-06-26 11:24:361472검색

Hadoop 레코드 I/O에는 레코드 직렬화 및 역직렬화를 단순화하기 위한 클래스 파일 및 레코드 설명 언어 해석기가 포함되어 있습니다.

소개

복잡성이 매우 높은 모든 소프트웨어 시스템에는 외부 세계와의 데이터 교환을 위한 메커니즘이 필요합니다. 데이터 상호작용에는 일반적으로 입력 및 출력 데이터 논리 단위(예: 파일, 네트워크 연결, 메모리 버퍼 등)의 패킷화 및 압축 해제가 포함됩니다. 애플리케이션에는 데이터 유형을 직렬화 및 역직렬화하기 위한 중첩된 작업 코드가 있는 경우가 많습니다. 직렬화에는 자동화된 코드 생성을 허용하는 여러 기능이 있습니다. 특정 출력 인코딩 형식(예: 바이너리, XML 등)이 주어지면 기본 데이터 유형의 직렬화 및 기본 데이터 유형의 조합은 기계적인 작업이 됩니다. 직렬화 코드를 수동으로 작성하면 버그가 발생하기 쉽습니다. 특히 레코드에 필드가 많거나 레코드가 버전 간에 다르게 정의되는 경우에는 더욱 그렇습니다. 마지막으로, 서로 다른 프로그래밍 언어로 작성된 애플리케이션 간의 데이터 교환에 유용합니다. 언어 독립적인 방식으로 애플리케이션에 의해 조작되는 데이터 레코드를 설명하고 설명을 사용하여 다양한 대상 언어로 구현을 도출하면 더 쉬워집니다. 이 문서에서는 다음을 목표로 하는 메커니즘인 Hadoop Record I/O에 대해 설명합니다.

1) 직렬화된 데이터 유형의 간단한 사양 제공

2) 다양한 대상 언어에서 위 유형의 캡슐화 및 압축 해제를 위한 코드 생성 제공 ​​

3) 애플리케이션 프로그래머가 생성된 코드를 자신의 애플리케이션에 통합할 수 있도록 대상별 사전 연구 지원을 제공합니다.

Hadoop 레코드 I/O는 XDR, ASN.1, PADS 및 ICE와 같은 메커니즘을 대상으로 합니다. 이러한 시스템에는 대부분의 레코드 유형에 대한 표준 DDL 파일이 포함되어 있지만 다른 많은 측면에서 다릅니다. Hadoop 레코드 I/O는 데이터 직렬화 및 다중 언어 지원에 중점을 둡니다. 번역기를 기반으로 직렬화를 수행할 수 있습니다. Hadoop 사용자는 간단한 데이터 설명 언어를 사용하여 데이터를 설명해야 합니다. Hadoop DDL 변환기 rcc는 코드를 생성하며 사용자는 간단한 읽기 및 쓰기 데이터 흐름 추상화를 호출하여 데이터를 읽고 쓸 수 있습니다. 다음으로 Hadoop Record I/O의 몇 가지 목표와 비목표를 나열하겠습니다.

목표:

1) 일반적으로 사용되는 기본 유형을 지원합니다. Hadoop에는 우리가 지원하려는 공통 내장 유형이 포함되어야 합니다.

2) 복합 유형(재귀적 구성 포함)을 지원합니다. Hadoop은 구조체나 벡터와 같은 복합 유형을 지원해야 합니다.

3) 다양한 대상 언어로 코드 생성. Hadoop은 다양한 대상 언어로 직렬화 코드 생성을 지원하고 확장성이 뛰어나야 합니다. 초기 대상은 C++ 및 JAVA입니다.

4) 대상 언어 지원. Hadoop에는 대상을 지원하는 내장 헤더 파일, 라이브러리 또는 패키지가 있어야 애플리케이션에 잘 통합될 수 있습니다.

5) 다양한 출력 인코딩 형식을 지원합니다. 캡슐화된 바이너리, 쉼표로 구분된 텍스트, XML 등이 될 수 있습니다.

6) 역방향 또는 순방향 호환 레코드 유형을 지원합니다.

비목표:

1) 임의의 C++ 파일을 직렬화합니다.

2) 트리, 연결 목록 등 복잡한 데이터 구조를 직렬화합니다.

3) 인덱싱, 압축 또는 체크섬 기능이 내장되어 있습니다.

4) XML에서 생성된 동적으로 구성된 엔터티입니다.

다음 문서에서는 주로 Hadoop 레코드 I/O의 특성을 자세히 설명합니다. 2부에서는 시스템에서 지원하는 데이터 유형을 설명하고, 3부에서는 간단한 기록 예제를 위한 DDL 구문을 설명하고, 4부에서는 rcc를 사용한 코드 생성 과정을 설명하고, 5부에서는 대상 언어 매핑 및 Hadoop 유형 지원에 대해 설명합니다. 향후 문서 업데이트에 Java 및 기타 언어가 포함될 C++ 매핑에 대한 비교적 완전한 설명이 있습니다. 마지막 섹션에서는 출력 인코딩 지원에 대해 설명합니다.

위 내용은 Hadoop 레코드의 특징Ⅰ의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.