5. 5
인턴 점심식사 자리에서 스터디 이야기를 하던 중
사장님께서
“R&D 2팀은 스터디하고 있지? 같이 껴달라고 해~ ”
“아니면 인턴들 모아서 스터디 해” 라고 하셨고,
자리에 있던 인턴 모두 “네! 알겠습니다.”
라고 대답해서 시작하게 되었습니다.
(덕분에 April 연구 과제도 스터디와 병행할 수 있었지요~)
시작은
사장님이었다.
6. 6
효율적인
스터디방식
시작 전 스터디 진행기간, 역할 분담, 규칙을 정했습니다!
진행기간 역할 분담
리더 : April (R&D 2)
끼니 담당 : Lily (ITO)
회의실 예약 : Jun (ITO)
총 학습시간 : 18 시간
총 학습횟수 : 12 회
스터디 규칙
1. 일주일에 1~2회 점심시간에 진행
2. 참석인원 3명 이상이면 진행
3. 스터디 내용 정리해서 agit에 공유
2018.04.09 ~ 2018.06.12 리더, 회계 모두 지킵시다!
세부내용 세부내용 세부내용
7. 7
스터디만이
우리의 살 길
기본적으로 모든 부서에서 하둡을 사용해
솔루션을 개발하고, 구축 및 운영 업무를 해나가고
있습니다. 그래서 인턴으로서 업무를 더욱 수월하게
하기 위해 '하둡 스터디'가 필수라는 생각이
들었고, 3개의 목표를 세웠습니다.
하둡의기본적인내용이해하기!
에코시스템들이나오게된이유와하는일파악하기!
최소 1개의하둡에코시스템에관심가지기!
9. 대량의 데이터에 대한 프로세싱 확장성과
데이터 포맷, 구조에 관계없이 데이터를 처리할 수
있는 유연성으로 기존의 기술로는 할 수 없을 거라
생각했던 것들을 가능하게 만들었기 때문
또한, 전통적인 데이터 관리 솔루션과 비교하면
상당히 낮은 비용에서도 구동이 가능
기능성과 경제성의 성공적 조합은 하둡과
하둡 에코시스템이 성장할 수 있는 배경이 되었고
데이터 관리/처리 툴로 적극 도입될 수 있었음
빅데이터에서 하둡을 쓸 수 밖에 없는 이유들.
18. 18
하둡의 스토리지를
담당하는 HDFS.
HDFS란? 설계 방식
하둡의 파일시스템, 분산 파일 시스템으로써
네트워크로 연결된 여러 머신의 스토리지를
관리하는 파일 시스템
구성
네임노드 : 파일시스템 트리와
모든 파일과 디렉터리에 대한
메타데이터 유지
데이터 노드 : 클라이언트와
네임노드의 요청으로 인한
블록 저장과 탐색을 담당
하둡 분산 파일 시스템 한 번 쓰고 여러 번 읽자! 네임노드와 데이터 노드
세부내용 세부내용 세부내용
큰 파일들을 여러 머신에 나누어 저장
하기 위해 설계되었으며,
‘한 번 쓰고 여러 번 읽는 것’에
중점을 둠
34. 34
아주 큰 대용량 데이터를
랜덤 액세스할 수 있는
HBase.
1. 데이터를 다수의 Region Server에 분산 보관하고, 자주 접근되는 데이터를 메모리에 캐시
2. 컬럼 패밀리 사용, 하나의 row에 많은 column저장, 스키마 없음, 조인 인덱스 없음, 행 단위의 조작에 대해서만 atomic 보장
3. 물리적 저장소로 HDFS를 사용합니다.
What?
“분산 NoSQL데이터스토어”
1. 완벽한 ACID를 보증하는 접근 방법이 아니라
일단 간단한 스키마로 결과를 빠르게 조회할 수 있는 조회 속도 관점에서의 실시간성 데이터베이스에 대한 요구
2. 하둡과의 긴밀한 연관성에 대한 요구
Why? “간단한스키마로데이터를신속,정확하게”
35. 35
빠른 검색엔 HBase가 딱!
안 그래도
KDAP에서 쓰고 있습니다.
“빠른검색이 필요한곳에는 HBase”
1. HDFS와 맵리듀스는 각각의 레코드를 효과적으로 읽거나
쓰는 방법을 제공하지 않음
→ 대형 테이블에 대한 빠른 레코드 검색이 비효율적임
2. HBase는 빠른 Write와 Read를 지원
→ 특정 데이터 셀에 키 기반으로 접근하거나
어떤 범위의 셀에 순차적으로 접근하는데 탁월한 성능을 제공
39. 39
무한대의 데이터 스트림을
하둡의 배치 프로세싱처럼
실시간으로 처리하는 Storm.
1. 강력한 확장성
- 대용량의 메시지를 효과적으로 병렬처리할 수 있도록 설계
- 새로운 노드 추가 방식으로 간단히 확장 가능
2. 폴트 톨러런스 (빠른 실패, 자동 재시작) 지원
- 장애가 발생한다고 가정하고 아키텍쳐를 구성
3. 모든 튜플의 처리를 보증
- 최소 한 차례 이상 메시지를 보증하도록 디폴트 되어 있음
What?
“이벤트스트림프로세싱을위한분산형컴퓨팅프레임워크”
4. 풍부한 스파웃 有
- 트위터 스트리밍 API, 아파치 카프카, JMS 브로커 등
다양한 인풋스트림 제공
5. 스파크보다 많은 언어 지원
확장성이아주크고,빠르며,내결함성이강한,
스트림프로세싱에초점이맞춰진
분산형컴퓨팅을위한오픈소스시스템
40. 40
무한대의 데이터 스트림을
하둡의 배치 프로세싱처럼
실시간으로 처리하는 Storm.
1. 강력한 확장성
- 대용량의 메시지를 효과적으로 병렬처리할 수 있도록 설계
- 새로운 노드 추가 방식으로 간단히 확장 가능
2. 폴트 톨러런스 (빠른 실패, 자동 재시작) 지원
- 장애가 발생한다고 가정하고 아키텍쳐를 구성
3. 모든 튜플의 처리를 보증
- 최소 한 차례 이상 메시지를 보증하도록 디폴트 되어 있음
What?
“이벤트스트림프로세싱을위한분산형컴퓨팅프레임워크”
4. 풍부한 스파웃 有
- 트위터 스트리밍 API, 아파치 카프카, JMS 브로커 등
다양한 인풋스트림 제공
5. 스파크보다 많은 언어 지원
확장성이아주크고,빠르며,내결함성이강한,
스트림프로세싱에초점이맞춰진
분산형컴퓨팅을위한오픈소스시스템
실시간
“근접실시간또는수초부터십분의일초정도단위로처리하는것”
41. 41
무한대의 데이터 스트림을
하둡의 배치 프로세싱처럼
실시간으로 처리하는 Storm.
1. 강력한 확장성
- 대용량의 메시지를 효과적으로 병렬처리할 수 있도록 설계
- 새로운 노드 추가 방식으로 간단히 확장 가능
2. 폴트 톨러런스 (빠른 실패, 자동 재시작) 지원
- 장애가 발생한다고 가정하고 아키텍쳐를 구성
3. 모든 튜플의 처리를 보증
- 최소 한 차례 이상 메시지를 보증하도록 디폴트 되어 있음
What?
“이벤트스트림프로세싱을위한분산형컴퓨팅프레임워크”
4. 풍부한 스파웃 有
- 트위터 스트리밍 API, 아파치 카프카, JMS 브로커 등
다양한 인풋스트림 제공
5. 스파크보다 많은 언어 지원
확장성이아주크고,빠르며,내결함성이강한,
스트림프로세싱에초점이맞춰진
분산형컴퓨팅을위한오픈소스시스템
42. 42
또 다른 실시간
분산형 컴퓨팅 프로젝트
Spark Streaming.
“스톰보다는 범용분산형컴퓨팅플랫폼에가까운분산형프로세싱”
하나의플랫폼안에 배치,스트리밍, 머신러닝 등다양한처리를제공
→Spark하나만으로기존빅데이터분석플랫폼의역할을대신할수있음
1. Macro-batch 기반
- Streaming을 작은 배치의 연속으로 구현
- 초 단위의 Latency
2. Exactly-once를 보장
3. 노드 다운 시 처리 중인 데이터를 복구가능
- Lineage를 이용
4. Kafka, Flume 등 여러 가지 소스를 사용 가능
5. Map, Reduce, Join 등 High Level 기능들을
사용해서 프로세싱 가능
6. 처리된 데이터를 File System, DB 등 저장 가능
What?
45. 45
“우지야, 오늘 이 스케줄 좀 돌려줘.”
하둡의 비서, 우지!
1. Scheduling
특정 시간을 지정 / 주기적인 간격 지정 / 이벤트나 트리거 발생 후 Action을 수행합니다.
2. Coordinating
이전 Action이 성공적으로 종료되면 다음 Action을 수행합니다.
3. Managing
Action이 성공하거나 실패했을 때는 Alert을, Action의 수행시간이나 Action의 단계를 저장합니다.
What?
“자동화와스케줄링을해주는워크플로스케줄러”
특정 MR Job을 시작(start)하거나 종료(stop), 일시정지(suspend)할 수 있고,
나아가 시스템의 이상으로 인해 완료되지 못한 MR Job을 재수행(rerun)할 수 있도록 설정 가능하기 때문에
하둡 에코시스템에서 중요한 역할을 담당하고 있습니다.
Why?
“유연한설계로 MRJob을손쉽게제어”
46. 46
우지의 실행 순서를
한번 살펴볼게요.
Client는 Oozie server에 연결하여
Job properties
(key-value형태로 파라미터 정의)를 제출
Oozie server가 HDFS로부터
workflow file을 읽어들임
Oozie server에서 workflow를
parsing해서 Action
55. 55
스터디와 함께
인턴 생활이
끝났습니다.
우선 아쉬웠던 점부터 볼까요?
리더로써
잘 했나요..?
- April (R&D 2)
스터디,
더 하고 싶어요!
- Jun (ITO)
챕터 별로 다시 보고 싶은데
한번밖에 보지 못해서 아쉽습니다.
다음에 또 기회가 된다면
여러 번 정독하고 싶습니다.
스터디를 이끌어 가는 리더로써
준비를 미흡하게 한 것 같아
아쉽습니다. T_T
다른 동기들에 비해 하둡을 직접 다뤄
볼 수 있는 환경이 아니라 이해하기에
조금 벅찼고, 그래서 준비한 내용을
잘 전달하지 못한 것 같아요.
그래도 다음 스터디 같이해여~♥
점심 해결이
가장
힘들었어요T_T
- Lily (ITO)
점심 시간을 활용해서 스터디를
진행하다보니 편의점이나 간단한
음식 포장밖에 할 수 없었어용T_T
회사 주변에 뭐가 없다보니
매번 비슷한 식사 메뉴만 준비해서
죄송해요~
56. 56
스터디와 함께
인턴 생활이
끝났습니다.
우선 아쉬웠던 점부터 볼까요?
Presto
왜 없나요..?
- Authur (PS)
현재 진행하고 있는 업무인 Presto에
대한 내용이 없어서 아쉬웠습니다.
나중에 다른 스터디를 통해 Presto를
공부하면 좋을 것 같습니다.
가까이 하기엔
너무 먼 방배
- Sunny (PS)
MTO 프로젝트로 인해
목동으로 가게 되어서 동기들과
함께 스터디를 하지 못해 슬펐어요.
MTO 프로젝트가 끝나면 함께
또 다른 스터디 해요~~
그리고 우리 스터디 아지트가
비공개라서 열심히 한 흔적을
못 보여(?)드려서 아쉽습니다.
57. 57
마무리는
아름답게
좋았던 것만
스터디 끝! 인턴생활 끝! 새로운 시작!
개인의 성장!
회사의 발전!
- Lily (ITO)
하둡,
느낌 아니까!
- April (R&D 2)
빅데이터 회사에 왔지만 막상
하둡에 대해서 아는게 없었습니다.
이번 스터디를 통해
'하둡이 이런거구나'
감을 잡을 수 있었고, 동기들과
친해질 수 있는 시간이었습니다.
적극 추천해주신 사장님,
Diesel, David 감사합니당
실무 경험과
스터디 내용의
콜라보
- Authur (PS)
업무를 진행하면서 접하는 부분들을
스터디 중 바로 바로 연결해
생각해 보고,
공부할 수 있어서 좋았습니다.
많은 분들이 개인의 성장을 위해
열심히 노력하고, 회사도 이를
적극적으로 지원해주는 모습이
인상 깊었습니다. 저도 회사의 발전을
위해서 열심히 노력하겠습니다.
58. 58
마무리는
아름답게
좋았던 것만
스터디 끝! 인턴생활 끝! 새로운 시작!
주체적인
인턴들, 뿌듯
해!
- Sunny (PS)
하둡, 너~
- Jun (ITO)
스터디를 통해 업무에 쓰이는 용어들,
기술들에 조금 더 친숙해진 느낌이 들
었습니다. 그렇지만 아직 갈 길이
멀다는 것을 느꼈습니다.
하둡 책을 여러 번 읽고, 자세하게
기술을 공부해야 한다는 것을 깨달았
고, 무엇보다 경험이 이론보다 더 중요
하다는 것을 느꼈습니다.
인턴들이 주체적으로 스터디를
진행하고, 하둡을 공부한 점이
너무 너무 뿌듯합니다.
또 그 날의 스터디가 끝나면
내용을 요약해서 정리하고,
다 같이 공유할 수 있어서
좋았어요~
59. 59
앞으로
이런 걸
하고 싶어요! Hadoop
(4)
Spark
(1)
Oozie
(1)
Hive
(2)
Presto
(1)
Nif
(1)
HBase
(1)
스터디가 끝나고 여러 에코시스템에 관심이 생겼습니다.
앞으로 이러한 기술을 공부해나가면서
넥스알의 발전을 위해 열심히 노력하겠습니다.
Kafka
(1)
60. 60
1. 하둡, 하이브 스터디하기
2. 프로젝트 경험 많이 쌓기
1. 하둡 교육자료 제작
2. 클러스터 이슈 해결사 되기
기술지원, 유지보수 문제 사항과
해결과정 내역을 체계적으로
정리해 문서 만들기
프로젝트 경험
많이 쌓기
관심있는 분야
스터디 하기
기술 블로그
만들기
Always
Smile
;-)
Jun Sunny Arthur
Lily
1. 하둡 에코시스템 내
데이터 흐름 공부하기
2. 새로운 에코시스템 공부하기
April
1. 스파크 스터디 참여하기
2. 새로운 기술 내부 공유하기
61. 61
Jun's Wish list
1. 하둡, 하이브 스터디하기
2. 프로젝트 경험 많이 쌓기
Sunny's Wish list
1. 하둡 교육자료 제작
2. nifi 전문가되기
3. 클러스터 기술 이슈를 바로 파악할
정도로 프로젝트 경험 많이 쌓기
Authur's Wish list
1.
프로젝트 경험
많이 쌓기
관심있는 분
야
스터디 하기
기술 블로
그
만들기
Lily's Wish list
1. 데이터 흐름에 따른 에코시스템의
상관관계 상세 파악하기
2. 데이터 관리측면에서의 에코시스템
특징 상세 파악
April's Wish list
1. 스파크 스터디 참여하기
2. 새로운 기술을 공부해 꾸준히
내부 공유하기
3. 기술 블로그 제작 참여하기
Always
Smile
;-)
Do it! KT NexR!