Hadoop 인터뷰 질문 및 답변 상위 60개(2024)
꿈의 직업을 얻기 위한 신입 지원자와 숙련된 지원자를 위한 Hadoop MapReduce 인터뷰 질문과 답변은 다음과 같습니다.
Hadoop MapReduce 인터뷰 질문
1) 하둡 맵리듀스란?
Hadoop 클러스터에서 병렬로 대용량 데이터 세트를 처리하기 위해 Hadoop MapReduce 프레임워크가 사용됩니다. 데이터 분석은 2단계 맵과 리듀스 프로세스를 사용합니다.
2) 하둡 맵리듀스는 어떻게 작동하나요?
MapReduce에서는 맵 단계에서 각 문서의 단어 수를 계산하고, 축소 단계에서는 전체 컬렉션에 걸쳐 문서별로 데이터를 집계합니다. 맵 단계에서 입력 데이터는 Hadoop 프레임워크에서 병렬로 실행되는 맵 작업을 통해 분석할 수 있도록 분할됩니다.
👉 무료 PDF 다운로드: Hadoop 및 MapReduce 인터뷰 질문 및 답변
3) MapReduce에서 셔플링이 무엇인지 설명하세요.
시스템이 정렬을 수행하고 맵 출력을 리듀서에 입력으로 전송하는 프로세스를 셔플이라고 합니다.
4) MapReduce Framework에서 분산 Cache란 무엇인지 설명해주세요.
분산 캐시는 MapReduce 프레임워크에서 제공하는 중요한 기능입니다. Hadoop의 모든 노드에서 일부 파일을 공유하려는 경우 Cluster, 분산 캐시가 사용됩니다. 파일은 실행 가능한 jar 파일이거나 간단한 속성 파일일 수 있습니다.
5) Hadoop의 NameNode가 무엇인지 설명해주세요.
Hadoop의 NameNode는 Hadoop이 모든 파일 위치 정보를 저장하는 노드입니다. HDFS(하둡 분산 파일 시스템). 즉, NameNode는 HDFS 파일 시스템의 중심입니다. 파일 시스템의 모든 파일에 대한 기록을 보관하고 클러스터 또는 여러 머신에서 파일 데이터를 추적합니다.
6) Hadoop의 JobTracker가 무엇인지 설명해주세요. Hadoop에 따른 조치는 무엇입니까?
In 하둡 MapReduce 작업을 제출하고 추적하기 위해 JobTracker가 사용됩니다. 작업 추적기는 자체 JVM 프로세스에서 실행됩니다.
Job Tracker는 Hadoop에서 다음 작업을 수행합니다.
- 클라이언트 애플리케이션이 작업 추적기에 작업을 제출합니다.
- JobTracker는 이름 모드와 통신하여 데이터 위치를 결정합니다.
- 데이터 근처 또는 사용 가능한 슬롯이 있는 JobTracker는 TaskTracker 노드를 찾습니다.
- 선택한 TaskTracker 노드에서 작업을 제출합니다.
- 작업이 실패하면 Job Tracker는 이를 알리고 그에 따라 무엇을 할지 결정합니다.
- TaskTracker 노드는 JobTracker에 의해 모니터링됩니다.
7) HDFS의 하트비트가 무엇인지 설명하세요.
하트비트(Heartbeat)는 데이터 노드와 네임 노드, 태스크 트래커와 작업 트래커 사이에서 사용되는 신호를 말하며, 네임 노드나 작업 트래커가 신호에 응답하지 않으면 데이터 노드나 태스크에 문제가 있는 것으로 간주됩니다. 트래커
8) 컴바이너가 무엇인지, MapReduce 작업에서 컴바이너를 언제 사용해야 하는지 설명해주세요.
효율성을 높이기 위해 맵리듀스 프로그램, Combiner가 사용됩니다. Reducer로 전송해야 하는 Combiner의 도움으로 데이터 양을 줄일 수 있습니다. 수행되는 작업이 교환적이고 연관적이라면 Reducer 코드를 Combiner로 사용할 수 있습니다. Hadoop에서는 Combiner의 실행이 보장되지 않습니다.
9) 데이터 노드에 장애가 발생하면 어떻게 되나요?
데이터 노드에 장애가 발생한 경우
- Jobtracker와 namenode가 실패를 감지합니다.
- 실패한 노드에서는 모든 작업이 다시 예약됩니다.
- 네임노드는 사용자의 데이터를 다른 노드에 복제합니다.
10) 투기적 실행이 무엇인지 설명해주세요.
추측 실행 중에 Hadoop에서는 특정 수의 중복 작업이 시작됩니다. 다른 슬레이브 노드에서는 Speculative Execution을 사용하여 동일한 맵 또는 축소 작업의 여러 복사본을 실행할 수 있습니다. 간단히 말해서, 특정 드라이브가 작업을 완료하는 데 오랜 시간이 걸리면 Hadoop은 다른 디스크에 중복 작업을 생성합니다. 작업을 먼저 완료하는 디스크는 유지되고 먼저 완료되지 않는 디스크는 종료됩니다.
11) 매퍼의 기본 매개변수가 무엇인지 설명하세요.
매퍼의 기본 매개변수는 다음과 같습니다.
- LongWritable 및 텍스트
- 텍스트 및 IntWritable
12) MapReduce 파티셔너의 기능이 무엇인지 설명해주세요.
MapReduce 파티셔너의 기능은 단일 키의 모든 값이 동일한 감속기로 이동하는지 확인하는 것입니다. 이는 결국 감속기에 맵 출력을 균등하게 배포하는 데 도움이 됩니다.
13) 입력 분할과 HDFS 블록의 차이점이 무엇인지 설명해주세요.
데이터의 논리적 분할은 분할(Split)이라고 하며, 데이터의 물리적 분할은 HDFS 블록(HDFS Block)이라고 합니다.
14) 텍스트 형식에서는 어떤 일이 일어나는지 설명하세요.
텍스트 입력 형식에서 텍스트 파일의 각 줄은 레코드입니다. Value는 라인의 내용이고 Key는 라인의 바이트 오프셋입니다. 예를 들어 키: longWritable, 값: text
15) MapReduce 작업을 실행하기 위해 사용자가 지정해야 하는 주요 구성 매개변수는 무엇입니까?
MapReduce 프레임워크 사용자는 다음을 지정해야 합니다.
- 분산 파일 시스템에서 작업의 입력 위치
- 분산 파일 시스템에서 작업의 출력 위치
- 입력 형식
- 출력 형식
- 지도 함수를 포함하는 클래스
- 감소 함수를 포함하는 클래스
- 매퍼, 리듀서 및 드라이버 클래스가 포함된 JAR 파일
16) Hadoop의 WebDAV가 무엇인지 설명해주세요.
파일 편집 및 업데이트를 지원하기 위해 WebDAV는 HTTP에 대한 확장 세트입니다. 대부분 운영 체제에서 WebDAV 공유는 파일 시스템으로 마운트될 수 있으므로 WebDAV를 통해 HDFS를 노출하여 HDFS를 표준 파일 시스템으로 액세스할 수 있습니다.
17) Hadoop에서 Sqoop이 무엇인지 설명하세요.
사이의 데이터를 전송하려면 관계형 데이터베이스 관리(RDBMS) and Hadoop HDFS Sqoop이라는 도구가 사용됩니다. Sqoop을 사용하면 다음과 같은 RDMS에서 데이터를 전송할 수 있습니다. MySQL or Oracle HDFS로 데이터 내보내기 및 HDFS 파일에서 RDBMS로 데이터 내보내기
18) JobTracker가 작업을 예약하는 방법을 설명해주세요.
작업 추적기는 JobTracker가 활성화되어 작동하는지 확인하기 위해 일반적으로 몇 분마다 JobTracker에 하트비트 메시지를 보냅니다. 이 메시지는 또한 JobTracker에 사용 가능한 슬롯 수를 알려주므로 JobTracker는 클러스터 작업을 위임할 수 있는 최신 상태를 유지할 수 있습니다.
19) Sequencefileinputformat이 무엇인지 설명해주세요.
Sequencefileinputformat은 파일을 순차적으로 읽는 데 사용됩니다. 이는 한 MapReduce 작업의 출력과 다른 MapReduce 작업의 입력 간에 데이터를 전달하는 데 최적화된 특정 압축 바이너리 파일 형식입니다.
20) conf.setMapper 클래스의 기능을 설명하세요.
Conf.setMapperclass는 매퍼 클래스와 데이터 읽기 및 매퍼에서 키-값 쌍 생성과 같은 맵 작업과 관련된 모든 항목을 설정합니다.
21) 하둡(Hadoop)이 무엇인지 설명해주세요.
상용 하드웨어 클러스터에서 데이터를 저장하고 애플리케이션을 실행하기 위한 오픈소스 소프트웨어 프레임워크입니다. 모든 유형의 데이터에 대해 엄청난 처리 능력과 방대한 스토리지를 제공합니다.
22) RDBMS와 Hadoop의 차이점은 무엇입니까?
RDBMS | 하둡 |
---|---|
RDBMS는 관계형 데이터베이스 관리 시스템입니다. | Hadoop은 노드 기반의 평면 구조입니다. |
OLTP 처리에 사용되는 반면 Hadoop은 | 현재 분석 및 BIG DATA 처리에 사용됩니다. |
RDBMS에서 데이터베이스 클러스터는 공유 저장소에 저장된 동일한 데이터 파일을 사용합니다. | Hadoop에서는 스토리지 데이터를 각 처리 노드에 독립적으로 저장할 수 있습니다. |
데이터를 저장하기 전에 전처리가 필요합니다 | 데이터를 저장하기 전에 전처리할 필요가 없습니다. |
23) Hadoop 핵심 구성요소에 대해 언급하시겠습니까?
Hadoop 핵심 구성요소는 다음과 같습니다.
- HDFS
- MapReduce
24) Hadoop의 NameNode란 무엇입니까?
Hadoop의 NameNode는 Hadoop이 모든 파일 위치 정보를 HDFS에 저장하는 곳입니다. 작업 추적기가 실행되는 마스터 노드이며 메타데이터로 구성됩니다.
25) Hadoop에서 사용되는 데이터 구성 요소가 무엇인지 언급해 주세요.
Hadoop에서 사용되는 데이터 구성요소는
26) Hadoop에서 사용하는 데이터 저장 구성요소가 무엇인지 언급해 주세요.
Hadoop에서 사용되는 데이터 스토리지 구성 요소는 HBase입니다.
27) Hadoop에 정의된 가장 일반적인 입력 형식은 무엇입니까?
Hadoop에 정의된 가장 일반적인 입력 형식은 다음과 같습니다.
- 텍스트 입력 형식
- KeyValueInput형식
- 시퀀스파일입력형식
28) Hadoop에서 InputSplit이란 무엇입니까?
입력 파일을 청크로 분할하고 처리를 위해 각 분할을 매퍼에 할당합니다.
29) Hadoop 작업의 경우 사용자 정의 파티셔너를 어떻게 작성하시겠습니까?
Hadoop 작업에 대한 사용자 정의 파티셔너를 작성하려면 다음 경로를 따르세요.
- Partitioner 클래스를 확장하는 새 클래스 만들기
- getPartition 메서드 재정의
- MapReduce를 실행하는 래퍼에서
- Set Partitioner Class 메소드를 사용하여 작업에 사용자 정의 파티셔너를 추가하거나 – 사용자 정의 파티셔너를 구성 파일로 작업에 추가합니다.
30) Hadoop 작업의 경우 생성되는 매퍼 수를 변경할 수 있나요?
아니요. 생성할 매퍼 수를 변경할 수 없습니다. 매퍼 수는 입력 분할 수에 따라 결정됩니다.
31) Hadoop에서 시퀀스 파일이 무엇인지 설명해주세요.
바이너리 키/값 쌍을 저장하기 위해 시퀀스 파일이 사용됩니다. 일반 압축 파일과 달리 시퀀스 파일은 파일 내부의 데이터가 압축된 경우에도 분할을 지원합니다.
32) 네임노드가 다운되면 작업 추적기는 어떻게 되나요?
네임노드는 HDFS의 단일 실패 지점이므로 네임노드가 다운되면 클러스터가 자동으로 작동합니다.
33) HDFS에서 인덱싱이 어떻게 수행되는지 설명하세요.
Hadoop에는 고유한 인덱싱 방법이 있습니다. 데이터가 블록 크기에 따라 저장되면 HDFS는 데이터의 다음 부분이 어디에 있을지 알려주는 데이터의 마지막 부분을 계속 저장합니다.
34) 와일드카드를 사용하여 파일을 검색하는 것이 가능합니까?
예, 와일드카드를 사용하여 파일을 검색할 수 있습니다.
35) Hadoop의 세 가지 구성 파일을 나열해 볼까요?
세 가지 구성 파일은 다음과 같습니다.
- 핵심 사이트.xml
- mapred-site.xml
- hdfs-site.xml
36) jps 명령 외에 네임노드가 작동하는지 어떻게 확인할 수 있는지 설명해주세요.
jps 명령을 사용하는 것 외에도 Namenode가 작동하는지 확인하려면 다음을 사용할 수도 있습니다.
/etc/init.d/hadoop-0.20-namenode 상태.
37) Hadoop에서 "map"이 무엇이고 "reducer"가 무엇인지 설명해주세요.
Hadoop에서 맵은 HDFS 쿼리 해결의 한 단계입니다. 맵은 입력 위치에서 데이터를 읽고 입력 유형에 따라 키 값 쌍을 출력합니다.
Hadoop에서 리듀서는 매퍼가 생성한 출력을 수집하고 처리한 후 자체 최종 출력을 생성합니다.
38) Hadoop에서 어떤 파일이 Hadoop의 보고를 제어합니까?
Hadoop에서는 hadoop-metrics.properties 파일이 보고를 제어합니다.
39) Hadoop을 사용하려면 네트워크 요구 사항을 나열해야 합니까?
Hadoop을 사용하기 위한 네트워크 요구 사항 목록은 다음과 같습니다.
- 비밀번호 없는 SSH 연결
- 서버 프로세스 실행을 위한 SSH(Secure Shell)
40) 랙 인식이란 무엇입니까?
랙 인식은 네임노드가 랙 정의에 따라 블록을 배치하는 방법을 결정하는 방식입니다.
41) Hadoop의 작업 추적기가 무엇인지 설명해주세요.
Hadoop의 Task Tracker는 JobTracker로부터 작업을 수락하는 클러스터의 슬레이브 노드 데몬입니다. 또한 JobTracker가 여전히 살아 있는지 확인하기 위해 몇 분마다 JobTracker에 하트비트 메시지를 보냅니다.
42) 마스터 노드와 슬레이브 노드에서 어떤 데몬이 실행되는지 언급하세요.
- 마스터 노드에서 실행되는 데몬은 "NameNode"입니다.
- 각 슬레이브 노드에서 실행되는 데몬은 "Task Tracker"와 "Data"입니다.
43) Hadoop 코드를 어떻게 디버깅할 수 있는지 설명해주세요.
Hadoop 코드를 디버깅하는 데 널리 사용되는 방법은 다음과 같습니다.
- Hadoop 프레임워크에서 제공하는 웹 인터페이스를 사용하여
- 카운터를 사용하여
44) 스토리지 및 컴퓨팅 노드가 무엇인지 설명해주세요.
- 스토리지 노드는 처리 데이터를 저장하기 위해 파일 시스템이 상주하는 머신 또는 컴퓨터입니다.
- 컴퓨팅 노드는 실제 비즈니스 논리가 실행되는 컴퓨터 또는 기계입니다.
45) Context Object의 용도가 무엇인지 언급해 주세요.
컨텍스트 개체를 사용하면 매퍼가 나머지 Hadoop과 상호 작용할 수 있습니다.
체계. 여기에는 작업에 대한 구성 데이터와 출력을 내보낼 수 있는 인터페이스가 포함됩니다.
46) Mapper 또는 MapTask 이후의 다음 단계는 무엇인지 언급해 주세요.
Mapper 또는 MapTask 이후의 다음 단계는 Mapper의 출력을 정렬하고 출력에 대한 파티션을 생성하는 것입니다.
47) Hadoop의 기본 파티셔너 수는 몇 개입니까?
Hadoop에서 기본 파티셔너는 "해시" 파티셔너입니다.
48) Hadoop에서 RecordReader의 목적이 무엇인지 설명해주세요.
Hadoop에서 RecordReader는 소스에서 데이터를 로드하고 이를 Mapper에서 읽기에 적합한 (키, 값) 쌍으로 변환합니다.
49) Hadoop에 사용자 지정 파티셔너가 정의되어 있지 않은 경우 데이터가 감속기로 전송되기 전에 어떻게 파티셔닝되는지 설명하세요.
Hadoop에 사용자 지정 파티셔너가 정의되어 있지 않으면 기본 파티셔너가 키에 대한 해시 값을 계산하고 결과에 따라 파티션을 할당합니다.
50) Hadoop이 작업에 대해 50개의 작업을 생성하고 작업 중 하나가 실패하면 어떤 일이 발생하는지 설명해주세요.
작업이 정의된 제한보다 더 많이 실패하면 다른 TaskTracker에서 작업을 다시 시작합니다.
51) HDFS 클러스터 간에 파일을 복사하는 가장 좋은 방법은 무엇입니까?
HDFS 클러스터 간에 파일을 복사하는 가장 좋은 방법은 여러 노드와 distcp 명령을 사용하여 작업 부하를 공유하는 것입니다.
52) HDFS와 NAS의 차이점은 무엇입니까?
HDFS 데이터 블록은 클러스터 내 모든 머신의 로컬 드라이브에 분산되는 반면, NAS 데이터는 전용 하드웨어에 저장됩니다.
53) Hadoop이 다른 데이터 처리 도구와 어떻게 다른지 언급해 주시겠습니까?
Hadoop에서는 처리할 데이터의 양에 대해 걱정하지 않고 매퍼 수를 늘리거나 줄일 수 있습니다.
54) conf 클래스가 어떤 일을 하는지 언급해주세요.
Job conf 클래스는 동일한 클러스터에서 실행되는 여러 작업을 분리합니다. 실제 환경에서 작업을 선언하는 것과 같은 작업 수준 설정을 수행합니다.
55) 키 및 값 클래스에 대한 Hadoop MapReduce API 계약이 무엇인지 언급해 주세요.
키 및 값 클래스의 경우 두 개의 Hadoop MapReduce API 계약이 있습니다.
- 값은 org.apache.hadoop.io.Writable 인터페이스를 정의해야 합니다.
- 키는 org.apache.hadoop.io.WritableComparable 인터페이스를 정의해야 합니다.
56) Hadoop을 실행할 수 있는 세 가지 모드는 무엇입니까?
Hadoop을 실행할 수 있는 세 가지 모드는 다음과 같습니다.
- 의사 분산 모드
- 독립형(로컬) 모드
- 완전 분산 모드
57) 텍스트 입력 형식의 기능이 무엇인지 언급해 주세요.
텍스트 입력 형식은 XNUMX진수인 라인 객체를 생성합니다. 값은 전체 줄 텍스트로 간주되고 키는 줄 개체로 간주됩니다. 매퍼는 값을 'text' 매개변수로 받고 키는 'longwriteable' 매개변수로 받습니다.
58) Hadoop Framework에서 얼마나 많은 InputSplit이 생성되는지 언급해 주세요.
Hadoop은 5개로 분할됩니다.
- 1K 파일에 대해 64개 분할
- 2MB 파일용으로 65개로 분할
- 2MB 파일용으로 127개 분할
59) Hadoop에서 분산 캐시가 무엇인지 언급해 주세요.
Hadoop의 분산 캐시는 MapReduce 프레임워크에서 제공하는 기능입니다. 작업 수행시 파일을 캐시하는데 사용됩니다. 프레임워크는 해당 노드에서 작업을 실행하기 전에 필요한 파일을 슬레이브 노드에 복사합니다.
60) Hadoop 클래스 경로가 Hadoop 데몬을 중지하거나 시작하는 데 어떻게 중요한 역할을 하는지 설명하십시오.
클래스 경로는 데몬을 중지하거나 시작하기 위한 jar 파일이 포함된 디렉터리 목록으로 구성됩니다.
이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.