본문 바로가기
빅데이터/hadoop

[hadoop] 빅데이터 면접 질문

by hs_seo 2017. 9. 10.

빅데이터 관련해서 정보를 찾던 중에 빅데이터 관련 면접에서 알아두면 좋을 내용이 있어서 스크랩해 보았다. 

공부해 두면 좋은 내용들이어서 정리 해 보았다. 


1. 하둡과 전통적인 RDBMS의 차이점은?


데이터 타입

: 하둡은 정형, 반정형, 비정형 데이터

: RDBMS는 정형 데이터 


스키마

: 하둡 - Schema on Read

: RDBMS - Schema on Write

: 데이터를 읽을 때 스키마를 적용하느냐, 데이터를 적재할 때 스키마를 적용하느냐

: https://goo.gl/images/dQiQCJ


좋은 사용법

: 하둡은 대용량 데이터 처리

: RDBMS는 OLTP 데이터 처리나 복잡한 ACID 트랜잭션에 적용 


속도

: 하둡은 쓸 때 빠르고 

: RDBMS는 읽을 때 빠르다. 


2. 빅데이터에서 4V는 무엇을 말하나요?


빅데이터에 대한 정의는 기본적으로 3V이고, 업체에 따라 추가적인 내용을 더해 5V까지 확장 됨


Velocity(속도)

- 데이터가 쌓이는 속도도 빠르고, 사라지는 속도도 빠름

Volume : 양

- 테라에서 엑사 바이트의 데이터

Variety : 다양성

- 정형, 비정형의 데이터

- 수치화가 힘든 데이터도 포함

Veracity : 진실성

- 표본이 커서 정확성도 높아짐

Value : 가치

- 유용한 정보를 제공해야 함


3. 하둡의 패러다임

- 로직이 데이터에 접근하지 말고, 데이터가 있는 곳에 로직을 옮겨라


4. 대용량 데이터 분석에 하둡이 유리한 이유

- 애플리케이션/트랜잭션 정보는 매우 크다. -> 대용량 파일을 저장할 수 있는 분산 파일 시스템을 제공한다. 

- I/O 집중적이면서 CPU를 많이 사용한다.  -> 멀티 노드로 부하를 분산시켜 처리한다. 

- 스케일 아웃에 유리하다. -> 장비를 추가하면 성능이 선형적으로 증가한다. 

- 데이터 베이스는 소프트웨어와 하드웨어가 비싸다. -> 하둡은 저렴한 장비로도 처리가 가능하다. 


5. 정형데이터와 비정형데이터의 차이점은?

- 데이터 분류의 기준은 스키마의 유무이다.

- DB 스키마, XML 스키마 등 데이터 타입, 크기 저장 방법등을 선언한 것 

- 정형데이터는 스키마가 존재하고, 데이터가 행,열로 구분가능한 데이터이다. 

- DBMS에 저장된 데이터나 스프레드 시트에 저장된 데이터가 가장 좋은 예이다. 

- 반정형데이터는 데이터 내부에 정형 데이터의 스키마에 해당하는 메타 데이터를 가지고 있으며 일반적으로 파일 형태로 저장되는 데이티이다. 

- XML, HTML, 시스템 로그 등

- 비정형 데이터는 정해진 형태가 없는 데이터 이다. 

- 동영상, 이미지, 텍스트 데이터 등


- http://www.dbguide.net/db.db?cmd=view&boardUid=186813&boardConfigUid=9&categoryUid=216&boardIdx=152&boardStep=1



6. 하둡은 어떤 컨셉으로 동작하는가?

- 하둡은 두개의 중요한 개녑으로 동작한다. HDFS와 MR이다. 

- HDFS는 자바로 작성된 확장과 신뢰성이 높은 분산 파일 저장시스템이다. 

- 파일은 블록단위로 저장되고, 마스터-슬레이브 구조로 동작한다. 


- MR은 자바로 작성된 하둡 클러스터를 위한 작업 프로그램이다. 

- 맵과 리듀서로 구성된다. 맵이 데이터를 키, 밸류 쌍으로 구분하면 리듀서는 이를 가공하여 지표를 생성한다. 


- 데이터가 있는 곳으로 프로세스를 가져간다. 


7. 하둡은 어떻게 구성되는가?

- Hadoop Common

- 하둡의 다른 모듈을 지원하기 위한 공통 유틸리티 

- HDFS

- 고가용성을 지원하는 분산파일 저장시스템

- MapReduce

- 대용량 데이터의 병렬처리를 위한 YARN 기반의 시스템

- YARN

- 잡 스케줄링과 클러스터 리소스 관리를 위한 시스템

- 기타

- Ambari : 웹 기반의 모니터링 시스템

- Avro: 데이터 직렬화 도구

- Cassandra: 

- Chukwa: 데이터 수집 도구

- HBase : 대용량 데이터의 저장을 위한 도구

- Hive: 데이터 저장, 정제, AdHoc 쿼리를 지원하는 도구

- Mahout: 머신러닝 도구

- Pig: 

- Spark:

- Tez: 

- Zookeeper: 


- http://hadoop.apache.org/


8. 하둡 스트리밍이란?

- 하둡은 Java 를 이용한 맵리듀스 처리외에 다른 언어를 언어를 이용한 맵리듀스 처리를 위한 인터페이스를 제공한다. 

- 이를 하둡 스트리밍 이라고 한다. 파이썬, 펄, 루비, 쉘 스크립트 등을 이용하여 처리가 가능하다. 

- http://blrunner.com/23


9. 하둡 환경 구성을 위한 하드웨어 구성은?

- 듀얼코어에 4~8G 정도의 일반적인 하드웨어로도 동작 가능 


10. 하둡에서 사용되는 입력 포맷은?

- Text Input Format: 하둡의 기본 입력 포맷

- Key Value Input Format: 줄단위로 나누어진 텍스트 파일

- Sequence File Input Format: 


11. 빅데이터?

- 기존의 데이터베이스 시스템으로 처리할 수 없는 큰 용량의 데이터

- 3V로 정의할 수 있음




반응형