"빅데이터 클러스터 구축 및 활용"에 대한 배경 지식: 빅데이터 Hadoop 생태계 소개

목차

1. 하둡 소개

2. Hadoop의 운영 모드

1. 독립형 모드

2. 의사 분산 모드

3. 완전 분산 모드

3. Hadoop 생태계 구성요소

1. HDFS

2. 맵리듀스

3. 원사

4. 하이브

5. 돼지

6. H베이스

7. HC카탈로그

8. 아브로

9. 절약

10. 드릴

11. 머하웃

12. 국자

13. 플룸

14. 암바리

15. 사육사

4. 하둡의 장점과 단점

다섯 번째, Hadoop 학습 경로


1. 하둡 소개

hadoop = MapReduce+HDFS(하둡 파일 시스템)

추가 설명:

MapReduce는 프로젝트이고 HDFS는 또 다른 프로젝트이며 hadoop을 구성합니다.

사실 이 두 프로젝트는 hadoop과 관련이 있는데, 예를 들어 hadoop은 컴퓨터, MapReduce는 CPU, HDFS는 하드디스크입니다.

분명히 MapReduce는 데이터를 처리하고 HDFS는 데이터를 저장합니다.

Hadoop은 Apache Foundation에서 개발한 분산 시스템 인프라입니다. 사용자는 배포판의 기본 세부 사항을 알지 못해도 배포판 프로그램을 개발할 수 있습니다. 고속 컴퓨팅 및 저장을 위해 클러스터의 기능을 최대한 활용하세요. 간단히 말해서, 하둡은 대규모 데이터를 처리하기 위해 보다 쉽게 ​​개발하고 실행할 수 있는 소프트웨어 플랫폼입니다.

Hadoop의 핵심 구성요소는 HDFS와 MapReduce입니다. 다양한 처리 작업에 따라 다양한 구성 요소가 차례로 나타나 Hadoop 생태계를 풍부하게 하며 현재 생태계 구조는 대략 그림과 같습니다.

데이터 수집 도구:

        로그 수집 프레임워크: Flume, Logstash, Filebeat

        데이터 마이그레이션 도구: Sqoop

데이터 저장 도구:

        분산 파일 저장 시스템: Hadoop HDFS

        데이터베이스 시스템: Mongodb, HBase

데이터 처리 도구:

        분산 컴퓨팅 프레임워크:

        일괄 처리 프레임워크: Hadoop MapReduce

        스트림 처리 프레임워크: Storm

        하이브리드 처리 프레임워크: Spark, Flink

쿼리 분석 프레임워크: Hive, Spark SQL, Flink SQL, Pig, Phoenix

        리소스 및 작업 관리: 클러스터 리소스 관리자: Hadoop YARN

        분산 조정 서비스: Zookeeper

        작업 스케줄링 프레임워크: Azkaban, Oozie

        클러스터 배포 및 모니터링: Ambari, Cloudera Manager

위에 나열된 것은 상대적으로 주류인 빅 데이터 프레임워크이며 커뮤니티가 매우 활발하고 학습 리소스가 상대적으로 풍부합니다. Hadoop에서 학습을 시작하세요. Hadoop은 전체 빅 데이터 생태계의 초석이고 다른 프레임워크는 Hadoop에 직간접적으로 의존하기 때문입니다.

2. Hadoop의 운영 모드

Hadoop은 세 가지 모드로 설치하고 실행할 수 있습니다.

1. 독립형 모드

(1) Hadoop의 기본 모드이므로 설치 중에 구성 파일을 수정할 필요가 없습니다.

(2) Hadoop은 HDFS 및 YARN을 시작하지 않고 한 컴퓨터에서 실행됩니다.

(3) MapReduce가 실행되어 데이터를 처리할 때 JAVA 프로세스는 하나만 존재하며 데이터 입출력에는 로컬 파일 시스템이 사용됩니다.

(4) 프로그램의 정확성을 보장하기 위해 MapReduce 프로그램의 논리를 디버깅하는 데 사용됩니다.

2. 의사 분산 모드

(1) 하나의 컴퓨터에 Hadoop이 설치되어 있으며, 하나의 컴퓨터로 여러 호스트의 클러스터를 시뮬레이션하려면 해당 구성 파일을 수정해야 합니다.

(2) 독립된 Java 프로세스인 HDFS와 YARN을 시작해야 합니다.

(3) MapReduce가 실행되고 데이터를 처리할 때 각 작업마다 독립적인 프로세스이며, 입출력은 분산 파일 시스템을 사용합니다.

(4) Hadoop 프로그램이 올바르게 실행되는지 테스트하기 위한 학습 및 개발에 사용됩니다.

3. 완전 분산 모드

(1) 여러 컴퓨터에 JDK와 Hadoop을 설치하여 상호 연결된 클러스터를 구성하려면 해당 구성 파일을 수정해야 합니다.

(2) Hadoop 데몬은 여러 호스트로 구축된 클러스터에서 실행됩니다. 실제 생산 환경.

3. Hadoop 생태계 구성요소

1. HDFS

HDFS는 Java 기반의 Hadoop 분산 파일 시스템 (Hadoop Distributed File System)으로, Hadoop 생태계에서 가장 중요한 부분입니다. HDFS는 Hadoop의 주요 스토리지 시스템으로, 확장 가능하고 내결함성이 뛰어나며 안정적이고 비용 효율적인 빅 데이터용 데이터 스토리지를 제공합니다. HDFS는 저렴한 하드웨어에 배포되도록 설계되었으며 이미 많은 설치에서 기본 구성으로 설정되어 있습니다. 이는 애플리케이션 데이터에 액세스하기 위한 높은 처리량을 제공하며 매우 큰 데이터 세트가 있는 애플리케이션에 적합합니다. Hadoop은 셸과 유사한 명령을 통해 HDFS와 직접 상호 작용합니다.

HDFS에는 NameNode와 DataNode라는 두 가지 주요 구성 요소가 있습니다.

NameNode : NameNode는 마스터 노드라고도 하지만 실제 데이터나 데이터 세트를 저장하지 않습니다. NameNode는 메타데이터, 즉 업로드된 파일에 포함된 블록에 포함된 파일 권한, Bolck 블록이 저장된 데이터노드 및 기타 세부 정보를 저장합니다. 파일과 디렉터리로 구성됩니다.

NameNode의 작업:

  • 파일 시스템의 네임스페이스를 관리합니다.
  • 파일에 대한 클라이언트 액세스를 제어합니다.
  • 열기, 닫기, 이름 바꾸기 등과 같이 파일 네임스페이스를 조작하는 파일 또는 디렉터리 작업입니다.

DataNode : DataNode는 실제 데이터를 HDFS에 저장하고 파일 시스템 클라이언트의 요청을 읽고 쓰는 역할을 담당합니다. 시작 시 각 데이터노드는 해당 네임노드에 연결하고 핸드셰이크를 수행합니다. 네임스페이스 ID와 DataNode의 소프트웨어 버전 확인은 핸드셰이크를 통해 수행됩니다. 불일치가 발견되면 DataNode가 자동으로 종료됩니다.

DataNode의 작업:

  • DataNode는 저장된 데이터를 관리합니다.
  • DataNode는 또한 NameNode에서 블록 생성, 삭제 및 블록 복제 명령을 실행합니다.

2. 맵리듀스

MapReduce는 데이터 처리 기능을 제공하는 Hadoop 생태계의 핵심 구성 요소입니다. MapReduce는 Hadoop 분산 파일 시스템에 저장된 대량의 정형 및 비정형 데이터를 처리하는 애플리케이션을 쉽게 작성하기 위한 소프트웨어 프레임워크입니다. MapReduce 프로그램의 병렬 특성은 클러스터의 여러 시스템을 사용하여 대규모 데이터 분석에 유용하며 컴퓨팅 속도와 안정성을 향상시킵니다. MapReduce의 각 단계에는 입력 및 출력으로 키-값 쌍이 있습니다. Map 함수는 한 데이터 세트를 가져와 이를 다른 데이터 세트로 변환합니다. 여기서 개별 요소는 튜플(키/값 쌍)로 분류됩니다. 이 함수는 Map의 출력을 입력으로 사용하고 키에 따라 이러한 데이터 튜플을 조합하여 그에 따라 키 값을 수정합니다.

맵리듀스의 특징:

  • 단순성: MapReduce 작업은 실행하기 쉽습니다. 애플리케이션은 Java, C++, Python 등 어떤 언어로든 작성할 수 있습니다.
  • 확장성: MapReduce는 PB 수준의 데이터를 처리할 수 있습니다.
  • 속도: 병렬 처리를 사용하면 해결하는 데 며칠이 걸리는 문제를 MapReduce를 통해 몇 시간, 몇 분 안에 해결할 수 있습니다.
  • 내결함성: MapReduce는 오류를 처리합니다. 데이터의 한 복사본을 사용할 수 없는 경우 다른 컴퓨터에는 동일한 하위 작업을 해결하는 데 사용할 수 있는 동일한 키 쌍의 복사본이 있습니다.

3. 원사

Hadoop 생태계의 구성 요소인 YARN(Yet Another Resource Negotiator)은 리소스 관리 기능을 제공합니다. Yarn은 Hadoop 생태계에서 가장 중요한 구성 요소 중 하나이기도 합니다. YARN은 워크로드 관리 및 모니터링을 담당하기 때문에 Hadoop의 운영 체제로 알려져 있습니다. 실시간 스트리밍, 일괄 처리 등 여러 데이터 처리 엔진을 통해 하나의 플랫폼에 저장된 데이터를 처리할 수 있습니다.

  • 유연성: MapReduce(일괄 처리) 외에도 대화형 및 스트리밍과 같은 기타 특수 데이터 처리 모드도 구현할 수 있습니다. YARN의 이러한 기능으로 인해 다른 애플리케이션도 Hadoop2의 MapReduce 프로그램과 함께 실행될 수 있습니다.
  • 효율성: 동일한 클러스터에서 많은 애플리케이션이 실행되면 서비스 품질에 큰 영향을 주지 않고 Hadoop의 효율성이 향상됩니다.
  • 공유: 안정적이고 신뢰할 수 있으며 안전한 기반을 제공하고 여러 워크로드에서 운영 서비스를 공유합니다.

기본 모듈 외에도 Hadoop에는 다음 항목이 포함됩니다.

4. 하이브

Apache Hive는 Hadoop 파일에 저장된 대규모 데이터 세트를 쿼리하고 분석하기 위한 오픈 소스 데이터 웨어하우스 시스템입니다. Hive는 주로 데이터 집계, 쿼리 및 분석의 세 가지 기능을 수행합니다 . Hive에서 사용하는 언어는 SQL과 유사한 HiveQL(HQL)이라고 합니다. HiveQL은 SQL과 유사한 쿼리를 MapReduce 작업 으로 자동 변환하고 Hadoop에서 실행합니다.

하이브의 주요 부분:

  • Metastore: 메타데이터 저장소입니다.
  • 드라이버: HiveQL 문의 수명 주기를 관리합니다.
  • 쿼리 컴파일러: HiveQL을 DAG(방향성 비순환 그래프)로 컴파일합니다.
  • Hive 서버: Thrift 인터페이스와 JDBC/ODBC 서버를 제공합니다.

5. 돼지

Apache Pig는 HDFS에 저장된 대규모 데이터 세트를 분석하고 쿼리하기 위한 고급 언어 플랫폼입니다. Hadoop 생태계의 필수적인 부분인 Pig는 SQL과 매우 유사한 PigLatin 언어를 사용합니다. 해당 작업에는 데이터 로드, 필수 필터 적용 및 필수 형식으로 데이터 덤프가 포함됩니다. 프로그램 실행을 위해 Pig에는 Java 런타임 환경이 필요합니다.

아파치 피그 의 특징 :

  • 확장성: 특별한 처리를 위해 사용자는 자신만의 기능을 만들 수 있습니다.
  • 최적화 기회: Pig를 사용하면 시스템이 자동으로 최적화를 수행할 수 있으므로 사용자는 효율성보다는 의미에 집중할 수 있습니다.
  • 모든 종류의 데이터 처리: Pig는 구조화된 데이터와 구조화되지 않은 데이터를 모두 분석할 수 있습니다.

6. H베이스

Hadoop 에코시스템의 필수적인 부분인 Apache HBase는 잠재적으로 수십억 개의 행과 수백만 개의 열이 있는 테이블에 구조화된 데이터를 저장하도록 설계된 분산 데이터베이스입니다. HBase는 HDFS 위에 구축된 확장 가능한 분산형 NoSQL 데이터베이스입니다. HBase는 HDFS에서 데이터를 읽거나 쓸 수 있는 실시간 액세스를 제공합니다.

HBase에는 HBase Master와 RegionServer라는 두 가지 구성 요소가 있습니다.

HBase 마스터

  • 실제 데이터 저장소의 일부는 아니지만 모든 RegionServer 간의 로드 밸런싱을 협상합니다.
  • Hadoop 클러스터를 유지 관리하고 모니터링합니다.
  • 경영진 관리(테이블 생성, 업데이트 및 삭제를 위한 인터페이스)
  • 장애 조치를 제어합니다.
  • DDL 작업을 처리합니다.

지역서버

  • 클라이언트의 읽기, 쓰기, 업데이트, 삭제 요청을 처리합니다.
  • RegionServer 프로세스는 Hadoop 클러스터의 각 노드에서 실행됩니다. RegionServer는 HDFS의 DateNode에서 실행됩니다.

7. HC카탈로그

HCatalog는 Hadoop용 테이블 및 스토리지 관리 계층입니다. HCatalog는 클러스터에서 데이터를 쉽게 읽고 쓸 수 있도록 MapReduce, Hive, Pig 등 Hadoop 생태계의 다양한 구성 요소를 지원합니다. HCatalog는 사용자가 어떤 형식과 구조로든 데이터를 저장할 수 있도록 하는 Hive의 핵심 구성 요소입니다. 기본적으로 HCatalog는 RCFile, CSV, JSON, 시퀀스파일 및 ORC 파일 형식을 지원합니다.

8. 아브로

Acro는 Hadoop 생태계의 일부이며 가장 널리 사용되는 데이터 직렬화 시스템 중 하나로서 Hadoop용 데이터 직렬화 및 데이터 교환 서비스를 제공합니다. 이러한 서비스는 함께 또는 독립적으로 사용할 수 있습니다. 빅데이터는 Avro를 사용하여 다른 언어로 작성된 프로그램을 교환할 수 있습니다. 프로그램은 직렬화 서비스를 사용하여 데이터를 파일이나 메시지로 직렬화할 수 있습니다. 데이터와 함께 데이터 정의를 메시지나 파일에 저장하므로 프로그램이 Avro 파일이나 메시지에 저장된 정보를 동적으로 쉽게 이해할 수 있습니다.

  • Avro 스키마: 직렬화/역직렬화를 위해 스키마를 사용합니다. Avro에서는 데이터를 쓰거나 읽으려면 스키마가 필요합니다. Avro 데이터가 파일에 저장되면 해당 스키마도 함께 저장됩니다. 따라서 나중에 모든 프로그램에서 파일을 처리할 수 있습니다.
  • 동적 타이핑: 코드를 생성하지 않고 직렬화 및 역직렬화를 의미합니다. 이는 코드 생성을 보완하며 Avro에서는 정적인 유형의 언어를 선택적 최적화로 사용할 수 있습니다.

9. 절약

Thrift는 확장 가능한 교차 언어 서비스 개발을 위한 소프트웨어 프레임워크이자 RPC(Remote Procedure Call) 통신을 위한 인터페이스 정의 언어입니다. Hadoop은 RPC 호출을 많이 수행하므로 성능이나 기타 이유로 Thrift를 사용할 수 있습니다.

10. 드릴

Hadoop 생태계 구성 요소의 주요 목적은 정형 및 반정형 데이터를 포함한 대규모 데이터 처리입니다. Apache Drill은 수천 개의 노드로 확장하고 페타바이트 규모의 데이터를 쿼리하도록 설계된 지연 시간이 짧은 분산 쿼리 엔진입니다. Drill은 스키마가 없는 모델을 갖춘 최초의 분산 SQL 쿼리 엔진입니다.

Drill에는 가비지 수집을 제거하고 메모리 할당 및 사용을 최적화하는 전용 메모리 관리 시스템이 있습니다. Drill은 Hive와 잘 작동하므로 개발자는 기존 Hive 배포를 재사용할 수 있습니다.

  • 확장성: Drill은 쿼리 계층, 쿼리 최적화 및 클라이언트 API를 포함한 다양한 계층에서 확장 가능한 아키텍처를 제공합니다. 우리는 기업의 특정 요구 사항에 따라 모든 계층을 확장할 수 있습니다.
  • 유연성: Drill은 복잡하고 매우 동적인 데이터를 표현하고 효율적인 처리를 가능하게 하는 계층적 열 데이터 모델을 제공합니다.
  • 동적 스키마 검색: 드릴에서는 쿼리 실행 프로세스를 시작하기 위해 데이터의 스키마나 유형 지정이 필요하지 않습니다. 대신 Drill은 레코드 배치라는 단위로 데이터 처리를 시작하고 처리하면서 즉시 패턴을 발견합니다.
  • Drill의 분산형 메타데이터: 다른 SQL Hadoop 기술과 달리 Drill에는 중앙 집중식 메타데이터 요구 사항이 없습니다. 드릴 사용자는 데이터를 쿼리하기 위해 메타데이터에 테이블을 생성하고 관리할 필요가 없습니다.

11. 머하웃

Apache Mahout은 확장 가능한 기계 학습 알고리즘과 데이터 마이닝 라이브러리를 만들기 위한 오픈 소스 프레임워크입니다. 데이터가 HDFS에 저장되면 Mahout은 이러한 대규모 데이터 세트에서 의미 있는 패턴을 자동으로 찾을 수 있는 데이터 과학 도구를 제공합니다.

Mahout의 알고리즘에는 다음이 포함됩니다.

  • 클러스터링
  • 협업 필터링
  • 분류
  • 빈번한 패턴 마이닝

12. 국자

Apache Sqoop은 외부 소스의 데이터를 HDFS, Hbase 또는 Hive와 같은 관련 Hadoop 생태계 구성 요소로 가져옵니다. 또한 Hadoop에서 다른 외부 소스로 데이터를 내보낼 수도 있습니다. Sqoop은 Teradata, Netezza, oracle, MySQL과 같은 관계형 데이터베이스와 함께 작동합니다.

Apache Sqoop 의 특징 :

  • 메인프레임에서 순차적 데이터 세트 가져오기: Sqoop은 메인프레임에서 HDFS로 데이터를 이동해야 하는 증가하는 요구를 해결합니다.
  • ORC 파일 직접 가져오기: 쿼리 성능 향상을 위해 압축 및 경량 인덱싱이 향상되었습니다.
  • 병렬 데이터 전송: 더 빠른 성능과 최적의 시스템 활용을 가능하게 합니다.
  • 효율적인 데이터 분석: 읽기 데이터 레이크의 스키마에 정형 데이터와 비정형 데이터를 결합하여 데이터 분석의 효율성을 향상시킵니다.
  • 빠른 데이터 복사: 외부 시스템에서 Hadoop으로.

13. 플룸

Apache Flume은 대량의 데이터를 원본에서 HDFS로 효율적으로 수집, 집계 및 이동합니다. 이는 내결함성이 있고 신뢰할 수 있는 메커니즘입니다. Flume을 사용하면 소스에서 Hadoop 환경으로 데이터가 흐를 수 있습니다. 온라인 분석 애플리케이션을 허용하는 간단하고 확장 가능한 데이터 모델을 사용합니다. Flume을 사용하면 여러 서버의 데이터를 Hadoop으로 즉시 가져올 수 있습니다.

14. 암바리

Ambari는 Apache Hadoop 클러스터를 구성, 관리, 모니터링 및 보호하기 위한 관리 플랫폼입니다. Ambari는 일관되고 안전한 운영 제어 플랫폼을 제공하므로 Hadoop 관리가 더 쉬워집니다.

암바리 의 특징 :

  • 단순화된 설치, 구성 및 관리: Ambari는 대규모 클러스터를 쉽고 효율적으로 생성하고 관리합니다.
  • 중앙 집중식 보안 설정: Ambari는 플랫폼 전체에서 클러스터 보안을 관리하고 구성하는 복잡성을 줄여줍니다.
  • 높은 확장성과 사용자 정의 가능: Ambari는 확장성이 뛰어나서 사용자 정의 서비스를 관리할 수 있습니다.
  • 클러스터 상태에 대한 포괄적인 가시성: Ambari는 전체적인 모니터링 접근 방식을 통해 클러스터 상태와 가용성을 보장합니다.

15. 사육사

Apache Zookeeper는 구성 정보 유지, 이름 지정, 분산 동기화 제공 및 그룹 서비스 제공에 사용됩니다. Zookeeper는 대규모 시스템 클러스터를 관리하고 조정합니다.

주키퍼의 특징

  • 빠름: Zookeeper는 쓰기보다 데이터 읽기가 더 자주 발생하는 워크로드에서 빠릅니다. 이상적인 읽기/쓰기 비율은 10:1입니다.
  • Ordered: Zookeeper는 모든 거래 기록을 유지합니다.

4. 하둡의 장점과 단점

Hadoop을 기반으로 개발된 빅데이터 플랫폼은 일반적으로 다음과 같은 특징을 가지고 있습니다.

  • 확장성: PB 수준의 데이터를 안정적으로 저장하고 처리할 수 있습니다. Hadoop 생태계는 기본적으로 높은 처리량, 안정성 및 신뢰성을 갖춘 HDFS를 스토리지 구성 요소로 사용합니다.
  • 저비용: 저렴한 범용 머신으로 구성된 서버군을 활용해 데이터를 분산 처리할 수 있다. 이러한 서버 팜은 최대 수천 개의 노드를 추가할 수 있습니다.
  • 높은 효율성: Hadoop은 데이터를 분산시켜 데이터가 상주하는 노드에서 병렬로 처리할 수 있으며 처리 속도가 매우 빠릅니다.
  • 신뢰성: Hadoop은 자동으로 여러 데이터 백업을 유지 관리할 수 있으며 작업 실패 후 컴퓨팅 작업을 자동으로 재배포할 수 있습니다.

Hadoop의 생태학적 단점:

  • Hadoop은 파일 저장 시스템을 사용하기 때문에 읽기 및 쓰기의 적시성이 떨어지며 아직까지 빠른 업데이트와 효율적인 쿼리를 모두 지원하는 구성 요소가 없습니다.
  • Hadoop 생태계는 점점 더 복잡해지고, 구성 요소 간의 호환성이 열악하며, 설치 및 유지 관리가 어렵습니다.
  • Hadoop의 각 구성 요소의 기능은 비교적 단일하며 장점도 분명하고 단점도 분명합니다.
  • 클라우드 생태계가 Hadoop에 미치는 영향은 매우 명백하며, 클라우드 벤더의 맞춤형 구성 요소로 인해 버전 차이가 더욱 확대되고 합동 세력을 구성하는 것이 불가능합니다.
  • 전반적인 생태계는 내결함성이 낮고 사용성이 낮으며 구성 요소가 끊기 쉬운 Java 개발을 기반으로 합니다.

다섯 번째, Hadoop 학습 경로

(1) 플랫폼 기반

1.1 빅데이터

빅데이터가 무엇인지, 빅데이터 시작하기, 빅데이터 소개를 알아보세요.

그리고 스토리지, 컴퓨팅 문제 등 빅데이터에 존재하는 문제와 해결방안은 무엇인가.

1.2 Hadoop 플랫폼 생태계

오픈 소스 Hadoop 플랫폼 에코시스템과 타사 빅 데이터 플랫폼을 숙지하고 Hadoop 소개 블로그나 공식 웹사이트를 찾아 다음 사항에 대해 알아보세요.

하둡이란?

하둡이 존재하는 이유

하둡을 사용하는 방법

1.3 Hadoop 제품군 구성원

Hadoop은 스토리지 및 컴퓨팅과 같은 일련의 제품 구성 요소를 포함하는 거대한 제품군입니다. HDFS, MapReduce, Yarn, Hive, HBase, ZooKeeper, Flume, Kafka, Sqoop, HUE, Phoenix를 포함한 일련의 구성 요소를 이해하는 것이 필요합니다. , Impala, Pig, Oozie, Spark 등은 Wikipedia 정의에 따라 그것이 무엇을 하는지 알고 있습니다.

1.4 HDFS

분산 스토리지 HDFS, HDFS 아키텍처 이해, HDFS 스토리지 메커니즘 및 각 노드의 협력 관계를 명확하게 이해해야 합니다.

1.5 원사

분산 리소스 관리 Yarn, Yarn 아키텍처 및 리소스 관리 방법에 익숙합니다.

1.6 맵리듀스

분산 컴퓨팅 MapReduce, MapReduce의 기본 아키텍처, 처리 솔루션, 컴퓨팅 아키텍처 솔루션을 이해하고 MapReduce 컴퓨팅의 장점과 단점을 이해합니다.

1.7 H베이스

HBase에서 빅데이터를 효율적으로 저장하고, HBase의 기본 아키텍처, HBase의 애플리케이션 시나리오 및 스토리지 솔루션을 이해합니다.

1.8 하이브

빅 데이터 웨어하우스인 Hive는 Hive의 저장 메커니즘, Hive의 트랜잭션 변경, Hive의 애플리케이션 시나리오 및 Hive의 기본 컴퓨팅을 이해합니다.

1.9 스파크

인메모리 컴퓨팅 플랫폼 Spark는 Spark 인메모리 컴퓨팅 아키텍처, 컴퓨팅 프로세스, Spark의 작동 모드 및 애플리케이션 시나리오에 익숙합니다.

(2) 고급 플랫폼

2.1 HDFS

명령줄을 통해 HDFS를 작동하고, 파일 보기, 파일 업로드, 다운로드, 수정, 권한 할당 등을 수행합니다.

Java 데모를 통해 HDFS를 연결하고 작동하여 파일 읽기, 업로드 및 다운로드 기능을 구현합니다.

DI 도구를 사용하여 관계형 데이터베이스 파일을 HDFS에 저장하고 HDFS 파일을 로컬 디렉터리에 저장하도록 HDFS 작업 프로세스를 구성합니다.

2.2 맵리듀스

Eclipse는 Hadoop 환경을 바인딩하고 MapReduce Location을 추가하고 Eclipse를 사용하여 MapReduce의 고전적인 인스턴스인 WordCount를 실행하여 원리를 확인하고 이를 중국어 어휘 통계로 수정하고 관련 없는 단어를 제외하려고 합니다.

2.3 하이브

명령줄을 통해 Hive를 운영하고, Beeline 연결을 수행하고, SQL 문을 사용하여 Hive 데이터 웨어하우스를 운영합니다.

Java 데모를 통해 Hive를 연결하고 운영하여 테이블 생성, 데이터 삽입, 쿼리, 데이터 레코드 삭제, 데이터 업데이트, 테이블 삭제 등의 작업을 구현합니다.

DI 도구를 통해 관계형 데이터베이스를 구성하여 Hive 트랜잭션 테이블 프로세스를 추출하고, 직접 구동을 통해 Hive에 연결하지 않고, HDFS 및 Hive 모양을 통해 과잉 구현합니다.

2.4 H베이스

명령줄에서의 액세스 작업은 HBase를 사용하고, 열 패밀리를 생성하고, 각 열에 데이터를 추가하고, 데이터를 수정 및 업데이트하여 변경 사항을 확인합니다.

Java 데모를 통해 phoenix 드라이버를 사용하여 HBASE에 연결하고 HBASE에서 테이블 생성, 추가, 삭제, 수정 및 쿼리 데이터 작업을 실현합니다.

DI 도구를 사용하려면 먼저 소스 코드를 수정하거나 phoenix 구성 요소를 추가해야 합니다. phoenix insert 문이 Insert into가 아니라 Upsert into이므로 DI 도구와 일치할 수 없기 때문입니다.

2.5 스파크

명령줄에서 pyspark 및 Spark 셸을 실행하고, Spark 명령줄 작업을 수행하고, Spark 샘플 작업을 제출하고, 시험 실행을 수행합니다.

Spark 실행 모드를 전환하여 명령줄을 사용해 보세요.

Java 데모를 통해 Spark에 연결하여 작업을 분산하고 계산합니다.

(3) 고급 플랫폼

위에서 언급한 구성 요소에 대해 능숙하게 사용하고 연습하면 완벽해지며 하나의 인스턴스에서 추론을 도출하고 장면에 따라 MapReduce 코드, Spark 코드 등을 작성할 수 있고 지원되는 SQL 유형을 작동하는 방법을 깊이 이해하고 저장됩니다. Hive와 HBase에 대한 프로시저, 트리거 등을 숙지하고 요구사항에 맞는 최적의 솔루션을 설계할 수 있습니다.

(4) 플랫폼 깊이

구성 요소 소스 코드를 자세히 읽고, 플랫폼 배포 시 각 구성의 의미와 영향을 이해하고, 소스 코드와 구성을 통해 구성 요소를 최적화하는 방법을 이해하고, 소스 코드를 수정하여 Hadoop의 내결함성, 확장성, 안정성 등을 향상시킵니다. 플랫폼.

참고자료:

hadoop 생태계에는 어떤 구성요소가 포함되어 있나요? • Worktile 커뮤니티

https://www.cnblogs.com/wzgwzg/p/15997342.html

Hadoop 학습 경로 - Alibaba Cloud 개발자 커뮤니티

추천

출처blog.csdn.net/weixin_62909516/article/details/131628207