PySpark Review 박영택.

Slides:



Advertisements
Similar presentations
3 학년 -54 명 4 학년 -53 명 3.4 학년 총인원 -107 명 교사 -21 명 초 등 부 총인원 -128 명 2008 년 1 월 인원보고.
Advertisements

Oh Ji Ae Young-do Elementary School 다양한 활동을 통한 영어 학습자의 자율성 향상 방안 탐구 (Improving Learning Autonomy through Using Various Activities)
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
교회에 오면 제일 먼저 기도하세요 *^^*.
D - 87 대선 파헤치기 Apple 문지현, 송가을.
ALL IN ONE WORKING HOLIDAY!
설계 프로젝트 경진대회 성결대학교 컴퓨터공학과 내가 꾸미는 우리 집 팀장 김용훈 김경희 김미선 김헌진.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
Data Interface, Data mart Technology
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
제14장 동적 메모리.
로그인 로그인을 하시기 전에 상단 엑티브엑스 프로그램을 실행 후 로그인을 해주시기 바랍니다.
제 9 장 구조체와 공용체.
스크립트 SWF 파일 Exploit Drive by Download 분석.
데이터 파일 C 데이터 파일과 스트림(Stream) 텍스트 파일 처리
7장 배열 ②.
reindeer had a very shiny nose,
Unix Project2 <test character device 생성>
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
MapReduce Practice :WordCount
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
임베디드 실습 # LED, 7’Segment 제어
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
프로그래밍 랩 – 7주 리스트.
MicroC/OS-II 3. Memory Management ITISN Technical Lab.
“애견보험 사업계획서” 팀명 : 뷰티풀 젠트 팀원 : 유연화(CEO) 최영미
Parallel Programming with Spark
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
27장. 모듈화 프로그래밍.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Apache Spark Tutorial 빅데이터 분산 컴퓨팅 박영택.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
네트워크 설정 방법 (측정값데이터수집설정)
Fitting / Matrix / Excel
Apache Spark Tutorial 빅데이터 분산 컴퓨팅 박영택.
Fucntion 요약.
CHAP 21. 전화, SMS, 주소록.
Canary value 스택 가드(Stack Guard).
데이터 동적 할당 Collection class.
ITQ 정보기술자격 국가공인 Excel 2007 Ⅱ 함수- 15회차 강사 : 박영민.
Excel 일차 강사 : 박영민.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
(제작자: 임현수)모둠:임현수,유시연,유한민
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
창의인성 두뇌계발 교사교육 3월 생각튼튼리더 1주. 세상에서 제일 똑똑똑한 뇌 2주. 황금요술공,검정요술공 3주. 브레이니 웨이키 웨이키 4주. 생각튼튼 리더가 되었어요.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
TVM ver 최종보고서
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
구조체(struct)와 공용체(union)
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
06. 디바이스의 등록과 해제 김진홍
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
CHAP 15. 데이터 스토리지.
the heavens and the earth. I believe Jesus died for my sin,
C++ Espresso 제15장 STL 알고리즘.
6 객체.
안심귀가 서비스 원스톱 모바일 안전 도우미 시민이 안전한 보령시 Mobile Safety Business
Implementing SmartThings App Visualization tool
Presentation transcript:

PySpark Review 박영택

RDD (Resilient Distributed Dataset)

RDD 생성 RDD를 생성하는 첫번째 방법 예시 파일, 파일의 집합을 통해 생성 sc.textFile(“myfile.txt”) sc.textFile(“mydata/*.log”) sc.textFile(“myfile1.txt, myfile2.txt”) 파일, 파일의 집합을 통해 생성 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt RDD: newRDD Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven > newRDD = sc.textFile(“test.txt”) > newRDD.count() 4

RDD 생성 RDD를 생성하는 두번째 방법 메모리에 있는 데이터를 통해 생성 > num = [1,2,3,4] list: num > num = [1,2,3,4] > rdd = sc.parallelize(num) RDD: rdd 1 2 3 4

RDD 생성 RDD를 생성하는 세번째 방법 RDD를 통해 생성 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt > newRDD = sc.textFile(“test.txt") > newRDD_uc = newRDD.map(lambda line: \ line.upper()) > newRDD_uc.count() 4 RDD: newRDD Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven RDD: newRDD_uc Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven

RDD Operations RDD 함수의 종류 Actions : 값을 리턴 Transformations : 현재의 것 에 기초하여 새로운 RDD를 정의한다.

RDD 함수: Transformations (1) Transformation 함수는 이미 존재하는 RDD를 통해 새로운 RDD를 생성 RDD는 불변(immutable) RDD에 있는 데이터는 절대 바꿀수 없다. 필요에 따라 데이터를 수정하는 시퀀스를 변환한다.

RDD 함수: Transformations (2) map(function) : 주어진 RDD의 각 레코드 (라인)별로 기능을 수행하여 새로운 RDD를 생성 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt RDD: newRDD > newRDD = sc.textFile(“test.txt") > newRDD_uc = newRDD.map(lambda line: line.upper()) > newRDD_uc.count() 4 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven RDD: newRDD_uc TIME CAN BRING YOU DOWN TIME CAN BEND YOUR KNEES WOULD YOU KNOW MY NAME IF I SAW YOU IN HEAVEN

RDD 함수: Transformations (3) filter(function) : 주어진 RDD를 라인(레 코드)별로 조건에 맞는 라인으로 새로운 RDD를 생 성 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt RDD: newRDD Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven > newRDD = sc.textFile(“test.txt") > newRDD _ft = newRDD.filter(lambda line: \ line.startswith(’T')) > newRDD_ft.count() 2 RDD: newRDD_ft Time can bring you down Time can bend your knees

RDD 함수: Actions (1) 주요 Action 함수 count() : RDD의 요소의 갯수를 반환 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt > newRDD= sc.textFile(“test.txt”) > newRDD.count() 4 RDD: newRDD Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven

RDD 함수: Actions (2) 주요 Action 함수 take(n) : RDD의 첫번째 요소부터 n개의 요소를 리스트로 반환 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt > newRDD= sc.textFile(“test.txt”) > newRDD.take(2) [ u’Time can bring you down’, u'Time can bend your knees' ] RDD: newRDD Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven list Time can bring you down Time can bend your knees

RDD 함수: Actions (3) 주요 Action 함수 collect(n) : RDD의 모든 요소를 반환 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt > newRDD = sc.textFile(“test.txt”) > newRDD .collect() [u" Time can bring you down", u' Time can bend your knees', u' Would you know my name', u" If I saw you in heaven"] RDD: newRDD Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven list Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven

RDD 함수: Actions (4) Some common actions Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt Some common actions saveAsTextFile(path) : RDD를 파일로 저장 RDD: newRDD > newRDD= sc.textFile("test.txt") > newRDD_ft = newRDD.filter(lambda line: \ line.startswith(’T')) > newRDD_ft.saveAsTextFile(“output”) Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven RDD: newRDD_ft Time can bring you down Time can bend your knees Time can bring you down Time can bend your knees File: part-0000

Lazy Execution (1) RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않 음 > Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않 음 >

Lazy Execution (2) RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않음 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않음 RDD: newRDD > newRDD = sc.textFile(”text.txt")

Lazy Execution (3) RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않 음 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않 음 RDD: newRDD > newRDD = sc.textFile(”test.txt") > newRDD_uc = newRDD.map(lambda line: line.upper()) RDD: newRDD_uc

Lazy Execution (4) RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않 음 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않 음 RDD: newRDD > newRDD = sc.textFile(”test.txt") > newRDD_uc = newRDD.map(lambda line: line.upper()) > newRDD_filt = \ newRDD_uc.filter(lambda line: \ line.startswith(’T')) RDD: newRDD_uc RDD: newRDD_filit

Lazy Execution (5) RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않 음 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt RDD의 데이터는 action 함수로 인한 작업이 수행 될 때까지, 처리되지 않 음 RDD: newRDD > newRDD = sc.textFile(”test.txt") > newRDD_uc = newRDD.map(lambda line: line.upper()) > newRDD_filt = \ newRDD_uc.filter(lambda line: \ line.startswith(’T')) > newRDD_filt.count() 2 Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven RDD: newRDD_uc TIME CAN BRING YOU DOWN TIME CAN BEND YOUR KNEES WOULD YOU KNOW MY NAME IF I SAW YOU IN HEAVEN RDD: newRDD_filit Time can bring you down Time can bend your knees

Chaining Transformations > newRDD = sc.textFile("test.txt") > newRDD_uc = newRDD.map(lambda line: line.upper()) > newRDD_filt = newRDD_uc.filter(lambda line: line.startswith(’T')) > newRDD_filt.count() 2 > sc.textFile(“test.txt”).map(lambda line: line.upper()) \ .filter(lambda line: line.startswith(‘T’)).count() 2

Example: Passing Named Functions (1) Anonymous Functions 식별자(함수명)없는 인라인 함수 Best for short, one-off functions Python: lamda x: … Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt > def toUpper(s) : return s.upper() > newRDD = sc.textFile(“test.txt”) > newRDD.map(toUpper).take(2) > newRDD.map(lambda line: line.upper()).take(2)

Example: Passing Named Functions (2) Anonymous Functions 식별자(함수명)없는 인라인 함수 Best for short, one-off functions Python: lamda x: … Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt > def toUpper(s) : return s.upper() > newRDD = sc.textFile(“test.txt”) > newRDD.map(toUpper).take(2) > newRDD.map(lambda line: line.upper()).take(2)

Some Other General RDD Operations (1) Transformations flatMap(function) : base RDD의 각 라인별 엘리먼트를 각 엘리먼 트 단위로 매핑 > sc.textFile(“test.txt”) \ .map(lambda line: line.split()) \ [ [“Time”, “can”, “bring”, “you”, “down”] [”Time”, “can”, “bend”, “your”, “knees”] [“Would”, “you”, “know”, “my”, “name”] [“If”, “I”, “saw”, “you”, “in”, “heaven”] ] Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt

Some Other General RDD Operations (1) Transformations flatMap(function) : base RDD의 각 라인별 엘리먼트를 각 엘리먼 트 단위로 매핑 > sc.textFile(“test.txt”) \ .flatMap(lambda line: line.split()) [ [“Time”, “can”, “bring”, “you”, “down”] [”Time”, “can”, “bend”, “your”, “knees”] [“Would”, “you”, “know”, “my”, “name”] [“If”, “I”, “saw”, “you”, “in”, “heaven”] ] Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt [“Time”, “can”, “bring”, “you”, “down”, ”Time”, “can”, “bend”, “your”, “knees”, “Would”, “you”, “know”, “my”, “name”, “If”, “I”, “saw”, “you”, “in”, “heaven”]

Some Other General RDD Operations (2) Transformations distinct: 중복제거 > sc.textFile(“test.txt”) \ .flatMap(lambda line: line.split()) .distinct() Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven File: test.txt [“Time”, “can”, “bring”, “you”, “down”, ”Time”, “can”, “bend”, “your”, “knees”, “Would”, “you”, “know”, “my”, “name”, “If”, “I”, “saw”, “you”, “in”, “heaven”] [“Time”, “can”, “bring”, “you”, “down”, “bend”, “your”, “knees”, “Would”, “know”, “my”, “name”, “If”, “I”, “saw”, “in”, “heaven”]

Some Other General RDD Operations (4) Other RDD operations first: RDD의 첫 번째 엘리먼트를 리턴 > newRDD.first() “Time can bring you down” RDD: newRDD Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven

Some Other General RDD Operations (5) Other RDD operations top(n): 현재 RDD 상태에서 가장 큰 n개의 엘리먼트를 리턴 > newRDD.top(2) “Time can bring you down” “Time can bend your knees” RDD: newRDD Time can bring you down Time can bend your knees Would you know my name If I saw you in heaven