๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Data Science/Spark

[Spark] pyspark 3.0 dataframe new function ํ…Œ์ŠคํŠธ#1(ํ…Œ์ŠคํŠธ๋ฐ์ดํ„ฐ์ค€๋น„)

by ํ™ํ›„์ถ” 2020. 7. 3.

 

2020๋…„ 3์›”์— ๋ฆด๋ฆฌ์ฆˆ๋œ spark์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•ด๋ณด์•˜๋‹ค.

 

โ—‹ ํ…Œ์ŠคํŠธ๋ฐ์ดํ„ฐ ์ค€๋น„

1) ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์„ ํƒ
ํ…Œ์ŠคํŠธ์— ํ™œ์šฉํ•  ๋ฐ์ดํ„ฐ๋Š” ๊ณผํ•™๊ธฐ์ˆ ์ •๋ณดํ†ต์‹ ๋ถ€ ์ค‘์•™์ „ํŒŒ๊ด€๋ฆฌ์†Œ์˜
์ค‘์•™์ „ํŒŒ๊ด€๋ฆฌ์†Œ_๊ตญ๋‚ด์™ธ ์‹ ๊ทœ์œ„์„ฑ ๋ฐœ์‚ฌ ํ˜„ํ™ฉ์„ ํ™œ์šฉํ–ˆ๋‹ค.

https://www.data.go.kr/data/15002904/fileData.do

๋‹ค์šด๋ฐ›์€ csvํŒŒ์ผ์˜ ํ•œ๊ธ€๋กœ ๋œ ์ปฌ๋Ÿผ๋ช…๋“ค์„ ์˜๋ฌธ์œผ๋กœ ๊ฐ„๋žตํ•˜๊ฒŒ ๋ฐ”๊พธ์—ˆ๋‹ค.
๊ทธํ›„ colab์˜ sample_data ํด๋” ๋ฐ‘์— new_launch.csv๋กœ ์ €์žฅ.

 

๊ณต๊ณต๋ฐ์ดํ„ฐ ํฌํ„ธ

๊ตญ๊ฐ€์—์„œ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผใ€Ž๊ณต๊ณต๋ฐ์ดํ„ฐ์˜ ์ œ๊ณต ๋ฐ ์ด์šฉ ํ™œ์„ฑํ™”์— ๊ด€ํ•œ ๋ฒ•๋ฅ (์ œ11956ํ˜ธ)ใ€์— ๋”ฐ๋ผ ๊ฐœ๋ฐฉํ•˜์—ฌ ๊ตญ๋ฏผ๋“ค์ด ๋ณด๋‹ค ์‰ฝ๊ณ  ์šฉ์ดํ•˜๊ฒŒ ๊ณต์œ •ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณต๊ณต๋ฐ์ดํ„ฐ(Datase

www.data.go.kr

ํŒŒ์ผ์ด ์ž˜ ์ฝํžŒ๋Š” ์ง€ ํ™•์ธ

df = spark.read.csv("./sample_data/new_launch.csv", inferSchema=True, header=True)
df.show()


์ž˜ ์ฝํžˆ๋Š” ๊ฒƒ ํ™•์ธ.
์ฝ์„ ๋•Œ ์˜ต์…˜์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ์ž์„ธํ•œ ๊ฒƒ์€ ๋‚˜์ค‘์— ๋ณ„๋„์˜ ํฌ์ŠคํŠธ๋ฅผ ํ†ตํ•ด์„œ ์—…๋กœ๋“œ์˜ˆ์ •
- header๋Š” ์ปฌ๋Ÿผ๋ช…์ด ์žˆ๋Š” row๋ฅผ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ ์ปฌ๋Ÿผ๋ช…์œผ๋กœ ์ฝ์„์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์˜ต์…˜
- inferSchema๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ์ƒ˜ํ”Œ๋กœ ์ฝ๊ณ  data type๋“ค์„ ์ถ”๋ก ํ•˜์—ฌ ๊ฒฐ์ •ํ•˜๋Š” ์˜ต์…˜

2) ๋ฐ์ดํ„ฐ ๋ณด์ •
datainfer์˜ต์…˜์„ ์ผฐ๋”๋‹ˆ ๋ชจ๋“  year, month๊ฐ€ integer๋กœ data type์ด ๋จนํ˜”๋‹ค.
๋”ฐ๋ผ์„œ ์Šคํ‚ค๋งˆ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์ •ํ•ด์ค€๋‹ค.

from pyspark.sql import functions as func
from pyspark.sql import types
df = df.withColumn("year", df.year.cast('String'))
df = df.withColumn("month", df.month.cast('String'))
df = df.withColumn("month", func.lpad(df.month, 2, '0'))

year -> string ํƒ€์ž…, month -> string ํƒ€์ž…, lpad๋กœ ์™ผ์ชฝ์— 0์ฑ„์›Œ๋„ฃ๊ธฐ
๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ ๋” ํ™•์ธํ•ด๋ณธ๋‹ค.

df.show()

#์Šคํ‚ค๋งˆํ™•์ธ
df.printSchema()

 

๋ฐ์ดํ„ฐ์ค€๋น„๊ณผ์ •์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง„ ๊ฒƒ ๊ฐ™์•„
๋ณธ๊ฒฉ ์‹ ๊ทœ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ๋Š” ๋‹ค์Œ ํฌ์ŠคํŠธ์—...

 

๋Œ“๊ธ€