Apache Spark Tutorial 빅데이터 분산 컴퓨팅 박영택.

Slides:



Advertisements
Similar presentations
Dept. of School of Systems Biomedical Science SoongSil University.
Advertisements

Python RaspberryPi Sejin Oh. Raspberry Pi Python  파이썬이란 무엇인가 ?  파이썬이란 1990 년 암스테르담의 귀도 반 로섬에 의해 만들어진 인 터프리터 언어이다.  파이썬은 사람이 생각하는 방식을 그대로 표현할 수 있도록.
이혁재 /KASA NoSQL. 요약 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머 NoSQL 소개 데이타베이스 관련 문서 대상 : 클라이언트 프로그래머.
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
빅데이터란 ? 1. 빅데이터에 관한 잘못된 상식 빅데이터는 용량과 규모가 매우 큰 데이터를 말한다. 2.
독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
두 손 들고 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 오직 주만이 나를 다스리네 오직 주만이 나를 다스리네 나 주님만을.
Copyright © 2006 The McGraw-Hill Companies, Inc. 프로그래밍 언어론 2nd edition Tucker and Noonan 5 장 타입 “ 타입은 컴퓨터 프로그래밍의 효소이다 ; 프로그래밍은 타입을 통해 소화할만한 것이 된다.” 로빈.
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여
D - 87 대선 파헤치기 Apple 문지현, 송가을.
소비자 행동론 (Consumer Behavior)
Vision System Lab, Sang-Hun Han
T A B L E 작성자 : 이 재 학.
Introduction to Django
Yih-Chun Hu David B. Johnson Adrian Perrig
Hadoop 동작방식(F5를 눌로 슬라이드쇼로 볼 것!!)
IT Application Development Dept. Financial Team May 24, 2005
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
SAP QUERY SAP R/3 4.6C.
M원 탐색트리.
고교평준화의 득과 실 김영주 이지영 최윤영.
오라클 데이터베이스 성능 튜닝.
데이터 관리의 모든 것 데이터 최적화하기 데이터 정렬하기 자동 필터와 고급 필터
Distributed Computing (Apache Hadoop & Hive Review)
Open API - Google Maps (Application Programming Interface )
JAVA 프로그래밍 6장 객체지향프로그래밍의 핵심.
Korea University of Technology and Education Hongyeon Kim
아파트관리비 청구서 이용 프로세스 안내 ㈜한국전산기술.
Ch2-2. VHDL Basic VHDL lexical element VHDL description
Introduction to Big Data, Summer, 2013
하둡 기반 빅데이터 처리 방법.
발로 하는 파이썬 세미나 안녕하세요. 저는 발로 하는 파이썬 세미나를 발표할….
2010년 직원연수 자료 제1차 : 4월 16일 ~ 17일 제2차 : 4월 23일 ~ 24일
PySpark Review 박영택.
Parallel Programming with Spark
Data Mining Final Project
프로그램 식 조합 방법 <expr> ::= <constant> | <name>
6장 데이터 타입(2) 순천향대학교 컴퓨터공학부 하 상 호.
4. 나라 사랑의 길 골든벨 퀴즈.
목차 INDEX 1. 회원가입 및 로그인 2. 업체정보 3. 제조검사 신청 4. 인보이스 5. 검사진행현황(현장검사 신청)
Introduction to Programming Language
과거사 청산, 밝은 미래를 위하여 역사 청산 비교 분석-독일과 우리나라.
게임인공지능 제 6 장 스크립트 2008년 5월 6일.
DataScience Lab. 박사과정 김희찬 (목)
매스커뮤니케이션 신문 목원대학교 서 진 희.
6장 데이터 타입(3) 순천향대학교 컴퓨터공학부 하 상 호.
6.4/5/6 상태표시줄 등 6.4 상태표시줄 사용하기 6.5 진행표시바 사용하기 6.6 슬라이더 사용하기
DataScience Lab. 박사과정 김희찬 (화)
8 기본 내장 객체.
Apache Spark Tutorial 빅데이터 분산 컴퓨팅 박영택.
Hello, Python! #3 <부제: 코딩은 혼자하는 것이다>
제 11장. 템플릿과 STL 학기 프로그래밍언어및실습 (C++).
3장. 탐색.
이산수학(Discrete Mathematics)
자바 5.0 프로그래밍.
성경퀴즈 여호수아1장 3장 복습게임.
전류는 자계에서 힘을 받는다 기계공학교육 박지훈 황인석 한만혁 이덕균.
데이터 베이스의 내부 구조.
시민이 체감하는 편리한 건축인허가 절차 개선 추진.
R을 활용한 기초통계 2019년 3월 14일 (목) 김 철 기.
Python Tutorial 4: Data Structures
Spring, 2019 School of CSE Pusan National University
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
책을 읽읍시다  탈향 진지하게 설명해드림 1303 김소희 1309박지호 1315이지수.
2016년 제1차 운영위원회 평택시건강가정 ∙다문화가족지원센터
윤성우의 열혈 C++ 프로그래밍 윤성우 저 열혈강의 C++ 프로그래밍 개정판 Chapter 02. C언어 기반의 C++ 2.
Python 기본.
[ 딥러닝 기초 입문 ] 2. 통계적이 아니라 시행착오적 회귀분석 by Tensorflow - Tensorflow를 사용하는 이유, 신경망 구조 -
[2019 한양대 ERICA 졸업사진 촬영 안내] A type B type C type
Presentation transcript:

Apache Spark Tutorial 빅데이터 분산 컴퓨팅 박영택

Introduction Spark Spark Context Spark 에서는 driver 와 executors 사이에 통신이 일어남 driver 는 Spark job 을 가지고 있으며, 이를 실행하기 위해서는 executors 에게 일(Tasks)을 나 누어 줘야 함 executors 에서 작업이 끝나면 다시 driver 에게 결과를 리턴 Mater

Introduction Spark Spark Context Spark Application 을 시작할 때, SparkContext 생성으로 부터 시작 Master node 에서는 동작 가능한 cores 을 사용자의 Spark Application 전용으로 할당 사용자는 보통 Spark Context 를 사용하여 RDD(Resilient Distributed Datasets) 생성에 사용

SparkContext 기본적인 SparkContext 시작 방법 from pyspark import SparkConf, SparkContext conf = (SparkConf() .setMaster("local") .setAppName("My app") .set("spark.executor.memory", "1g")) sc = SparkContext(conf = conf) local mode 사용 사용자 Application 이름 executor 메모리 할당 최종 SparkContext 를 sc 변수로 할당 실습 환경에서는 기본적으로 ”sc” 변수로 SparkContext 할당되어 있음

SparkContext

SparkContext Application 이름 바꾸기

파일로 부터 RDD 생성 sample.txt 파일을 4개의 partitions 으로 생성 RDD 함수 중, glom() 함수는 파티션 별로 데이터 확인 가능 <sample.txt>

collect 함수 분산되어 있는 데이터를 모두 모아서 driver 로 전달 리턴되어 오는 값은 더이상 RDD 형태가 아님(python 경우, list, tuple 등)

Partition 개수 변경 repartition(n) 함수 getNumPartitions() 함수 n 에 변경하고 싶은 partition 개수를 전달 getNumPartitions() 함수 RDD 변수가 몇개의 partitions 으로 나누어져 있는지 알고 싶을 때.

xrange, range 차이점(Python 내용) xrange 함수는 lazy evaluation 으로서 선언된 변수가 사용되는 시점에 메모리에 값을 할당 range 함수는 변수 선언 즉시 메모리에 값 할당

객체로 부터 RDD 생성 Python 객체로 부터 RDD 생성 File 이 아닌 메모리 공간에 할당된 객체로 부터 RDD 생성 가능

RDD lineage 와 type 확인 RDD 의 lineage 확인 RDD 의 type 확인

map 함수 map 함수에 sub 함수를 전달함으로서 각 partition의 모든 데이터에 대해 sub 함수 적용 Spark 에서 map 함수 적용 과정 sub partition #1 partition #2 partition #3 partition #4 RDD1 RDD2

map 함수 map 함수에 sub 함수를 전달함으로서 모든 데이터에 대한 sub 함수 적 용

flatMap 함수 list of list 는 list 로 풀어서 생성 tuple 경우 key, value 를 모두 분해하여 list 로 생성

filter 함수 적용 filter 함수에는 true / false 를 리턴하는 함수를 넘겨야 하며, 모든 데 이터에 대해 true 인 값들만 유지

filter 함수 적용 filter 함수에는 true / false 를 리턴하는 함수를 넘겨야 하며, 모든 데 이터에 대해 true 인 값들만 유지

WordCount first() : 첫 번째 partition의 첫 번째 Element take(n) : 첫 번째 partition부터 n 개수만큼 리턴 n 이 첫 번째 partition이 가진 elements 개수보다 많으면 2번째 partition 으로 부터 elements 가져옴 takeOrdered(n) : 오름차순으로 n 개 리턴 tuple 일 경우, key 값 기준으로 오름차순 top(n) : 내림차순으로 정렬하여 n 개 리턴 tuple 일 경우, key 값 기준으로 내림차순

key 를 tuple의 value 로 인식하여 정렬하라는 의미 WordCount key 를 tuple의 value 로 인식하여 정렬하라는 의미 1 2 3 4 <sample.txt> * reduceByKey 함수는 22p 에 설명

reduce 함수 hodoop의 reduce 와 유사하며, reduce 함수의 파라매터로 function 을 전달 reduce 에 전달할 function은 항상 associative 하고 commutative 해야 함 associative : a + (b + c) = (a + b) + c  e.g. 2 + (3 + 4) = (2 + 3) + 4 commutative : a + b = b + a  e.g. 2 + 3 = 3 + 2 partition 변경에 따라 값이 다름!!

takeSample 함수 withReplacement : 중복 허용 여부 num : sample 개수 seed : 값을 줄 경우, 항상 같은 samples 추출

reduceByKey, GroupByKey 같은 node 의 같은 key 값 기준으로 values 를 미리 병 합 shuffling 할때, 네트워크의 부하를 줄여줌 groupByKey 특별한 작업 없이 모든 pair 데이터들이 key 값을 기준으로 shuffling 일어남 네트워크의 부하가 많이 생김 하나의 key 값에 많은 데이터가 몰릴 경우 out of memory 발생 가능

reduceByKey, GroupByKey 예제 shuffling 전에 하는 특별한 작업이 없기 때문 reduceByKey 는 shuffling 하기 전의 작업을 위한 함수 f 를 전달 shullfing 전에 f 함수를 시행

reduceByKey, GroupByKey 사용한 WordCount : dictionary type

join 함수 특정 delimiter 를 사용하여 Sequence 타입(list, tuple, etc) 의 elements 을 연결 element의 타입이 string 형태만 가능

mapPartitions, mapPartitionsWithIndex 함수 자신의 Partition 안에서만 f 함수 연산 mapPartitionsWithIndex 함수 index 가 자동으로 추가된 tuple(index, Sequence type) 형태의 데이터를 자신의 Partition 에서만 f 함수 연산 sequence 타입의 객체 int, sequence 타입

End !