pyspark 실습03
사전준비
- git bash로 VSCord에 들어가 터밀널을 연다.
바탕화면 우클릭 : git bash here
→ cd pyspk_project
→ code .
→ git bash 터미널
pyspark 실습(1)
- 가상환경 진입하고 폴더, 파일 생성
→ source venv/Scripts/activate
→ 폴더 생성 : chapter02_get_cleansing
- 슬랙에서 data.zip 을 다운로드
- 압축을 풀고 chapter02_get_cleansing 파일에 복사하여 옮긴다.
→ 파일 생성 : pipeline.py
- 코드를 작성해본다.
→ 코드 작성
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
print("Hello!")
→ 저장
→ 경로 이동 : cd chapter02_get_cleansing
→ 실행 : python pipeline.py
- 이어서 코드작성
→ pipeline.py를 다음과 같이 작성
1 | from pyspark.sql import SparkSession |
→ 저장 후 실행
→ python pipeline.py
→ output.csv 가 생성되면 성공이다.
pyspark 실습(2)
- 온도를 측정하는 코드를 작성해본다.
- 슬랙에서 다운로드
- 1800.csv, book.txt, customer-orders.csv, fakefriends.csv
- chapter02_get_cleansing/data 파일에 복사하여 옮긴다.
파일 생성 : min_temp.py
→ 코드 작성
from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster('local').setAppName('MinTemperatures')
sc = SparkContext(conf = conf)
print("Hello")
→ 저장 후 실행
→ python min_temp.py
- 이어서 코드작성
→ min_temp.py를 다음과 같이 작성
from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster(‘local’).setAppName(‘MinTemperatures’)
sc = SparkContext(conf = conf)
print(“Begins…”)
def parseLine(line):
fileds = line.split(‘,’) # 문자열을 split
stationID = fileds[0]
entryType = fileds[2]
temperature = float(fileds[3]) * 0.1 * (9.0 / 5.0) + 32.0
return (stationID, entryType, temperature)
lines = sc.textFile(‘data/1800.csv’)
#print(lines)
parseLines = lines.map(parseLine)
#print(parseLine)
minTemps = parseLine.filter(lambda x : “TMIN” in x[1])
stationTemps = minTemps.map(lambda x: (x[0], x[2]))
minTemps = stationTemps.map(lambda x, y: min(x,y))
results = minTemps.collect()
print(results)
→ 저장 후 실행
→ python min_temp.py
pyspark 실습(3)
- 나이를 출력하는 코드를 작성해보자
파일 생성 : friends-by-age.py
→ 코드 작성
1 | from pyspark import SparkConf, SparkContext |
→ 저장 후 실행
→ python friends-by-age.py
pyspark 실습(4)
파일 생성 : totalspent.py
→ 코드 작성
1 | # 라이브러리 불러오기 |
→ 저장 후 실행
→ python totalspent.py
install_url
to use ShareThis. Please set it in _config.yml
.