2020๋ 3์์ ๋ฆด๋ฆฌ์ฆ๋ spark์ ์๋ก์ด ๊ธฐ๋ฅ์ ์คํํด๋ณด์๋ค.
โ ํ ์คํธ๋ฐ์ดํฐ ์ค๋น
1) ํ
์คํธ ๋ฐ์ดํฐ ์ ํ
ํ
์คํธ์ ํ์ฉํ ๋ฐ์ดํฐ๋ ๊ณผํ๊ธฐ์ ์ ๋ณดํต์ ๋ถ ์ค์์ ํ๊ด๋ฆฌ์์
์ค์์ ํ๊ด๋ฆฌ์_๊ตญ๋ด์ธ ์ ๊ท์์ฑ ๋ฐ์ฌ ํํฉ์ ํ์ฉํ๋ค.
https://www.data.go.kr/data/15002904/fileData.do
๋ค์ด๋ฐ์ csvํ์ผ์ ํ๊ธ๋ก ๋ ์ปฌ๋ผ๋ช
๋ค์ ์๋ฌธ์ผ๋ก ๊ฐ๋ตํ๊ฒ ๋ฐ๊พธ์๋ค.
๊ทธํ colab์ sample_data ํด๋ ๋ฐ์ new_launch.csv๋ก ์ ์ฅ.
ํ์ผ์ด ์ ์ฝํ๋ ์ง ํ์ธ
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()
๋ฐ์ดํฐ์ค๋น๊ณผ์ ์ด ๋๋ฌด ๊ธธ์ด์ง ๊ฒ ๊ฐ์
๋ณธ๊ฒฉ ์ ๊ท ๊ธฐ๋ฅ ํ
์คํธ๋ ๋ค์ ํฌ์คํธ์...
'Data Science > Spark' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spark] pyspark 3.0 dataframe new function ํ ์คํธ#3(transform, overlay) (1) | 2020.07.06 |
---|---|
[Spark] pyspark 3.0 dataframe new function ํ ์คํธ#2(csv๊ด๋ จ) (0) | 2020.07.06 |
[Spark] Colab์์ Spark ์ฌ์ฉํ๊ธฐ (pyspark) (0) | 2020.07.03 |
๋๊ธ