빅데이터 관련해서 정보를 찾던 중에 빅데이터 관련 면접에서 알아두면 좋을 내용이 있어서 스크랩해 보았다.
공부해 두면 좋은 내용들이어서 정리 해 보았다.
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로 정의할 수 있음
'빅데이터 > hadoop' 카테고리의 다른 글
[하둡]HDFS의 헬스 체크 및 커럽트 블럭 삭제하기 (0) | 2017.09.18 |
---|---|
[hadoop] HDFS 관련 주요 면접 질문 (0) | 2017.09.11 |
[hdfs] 하둡 hdfs의 휴지통 설정하기 (0) | 2017.07.24 |
[hadoop][fsck] HDFS의 상태를 점검 할 수 있는 명령어 (0) | 2017.04.10 |
[hadoop][tez] 아파치 테즈(Apache tez) 프레임워크 (0) | 2016.12.12 |