복습
- Sqoop
- MapReduce
- Reducer
- 지역성을 이용해서 mapper가 데이터가 있는 곳에 뜬다
- 철저히 프로세스가 동작하는 곳은 데이터가 있는곳 - 이 규칙이 최근에 깨지고 있음
- Spark 이 나오면서 많이 변하고 있음
- Spark도 data locality가 중요한 요소이긴 하나, spark을 동작하는것은 yarn 이고 이중 하나가 HDFS일 뿐
- 따러서 yarn과 HDFS가 같은 클러스터면 data locality가 지켜지나, Hadoop cluster 1에 spark이 떠있고 Hadoop cluster2에 있는 data를 가져다가 쓸 경우에는 data locailty가 깨진다.(hadoop cluster1=computing layer, hadoop cluster2=data layer)
- 이 경우 10G 이상의 network 필요
- Default heap size 2G
- 가능한한 network를 덜 타도록 하는것이 관건
- 클러스터 구성할때는 소수넘버(prime number)로. 따라서 최소 5대 정도로 구성하는것이 좋다
- 3대로 구성하면 분산이라는 개념이 없어지기 때문에 5대 권장
- Hadoop 3.0 핵심 - Erasure coding
- Hive
- validation 시점
Chapter 01.zeppelin
zeppelin을 이용해서 scala spark을 하는 것
- spark 자체는 scala로 만들었찌만 구동하는 언어는 Python, R, scala, Java 등 다양...
- 최근에는 java가 어려워서 pyspark을 많이 씀
- scala spark은 어렵지만 대중적으로 활용되는 이유가 zeppelin 때문
Chapter 03.scala_basic
- Scala
- oop concept + functional 둘다 가능
- 컴파일하면 자바로!
- 장점
- 컴파일 언어임에도 불구하고 스크립트 언어처럼 한줄한줄 사용 가능하다 - 뭘 사용할때?
- 리터럴
- 무엇인가를 객체로 바꾸는 표기법
- class 와 object의 차이
- object: 싱글톤으로 정의됨?
chapter 02.Spark_intro
- Spark이 MR를 밀어냈다
- MR은 only 분산파일시스템이지만 spark은 공유메모리를 갖고있어서 더 효과적이고 빨리 처리할 수 있음
- 스팍은 하둡의 맵리듀스 기능과 완전히 동일하고 조금 더 개선된 것
Chapter 04.spark_overview
jupyter.org
R의 dataframe - 2차원 정제된 데이터라는것을 전제로 깔고 들어간다
CPU가 병목이니까 메모리를 병렬처리를 해서 속도를 높이자라는 컨셉
Intel에서 CPU안에 java를 빠르게 실행할 수 있는 코드를 계속해서 넣고 있다 - spark이 점점 더 유리해지는 이유
Spark도 Yarn의 어플리케이션
"pyspark"
RDD가 들어가는 영역은 cache 영역 p29
lazy방식 - 어싱크로노스 형태
Action은 RDD가 아닌것을 뱉어내는 것 p42
Chapter visualapi
- databricks azure
- 모두다 같은말, 입장에 따라 다르게 부름
- Instance - 개발자 입장
- example - 데이터 분석가입장의 하나의 사례
- row - rdb입장
- recode - rdb입장
- Q. MR과 Spark의 차이
- MR을 하는건 아니지만 다른 함수로 MR을 수행한다. 더 간략한 함수 제공
- lines = sc.textFile("/user/root/PresidentMoon.txt")
- Mapper와 reducer가 돌지 않는다
- 더 개선된 방법을 제안하는것
'Computer Science > Big data' 카테고리의 다른 글
4일차 (0) | 2018.11.02 |
---|---|
Hadoop & Spark 교육 - 2일차 (0) | 2018.10.31 |
오픈스택을 사용한 클라우드 구축과 관리(1) (0) | 2018.08.14 |
CEP란? - (3)정리(CEP란, Hadoop과의 비교, Storm과의 비교, Esper) (2) | 2018.07.27 |
CEP란? - (2)Spark, Storm, Esper 차이 (0) | 2018.07.25 |