software engineering/๋น…๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

[BigData] Spark ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ „ ์ฒ˜๋ฆฌ

jjingle 2024. 1. 9. 16:56

Spark  ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์›๋ฆฌ

  • ๊ณ ์ˆ˜์ค€ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ API๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ ์ž๋™์œผ๋กœ ๊ณ ์†์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋จ

 

 

Spark์˜ ๊ณ ์ˆ˜์ค€ API ํ™œ์šฉํ•œ ์ „์ฒ˜๋ฆฌ

  1. ๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ
    • ํŠน์ • ์—ด์˜ ๊ฒฐ์ธก์น˜ ์„ธ๊ธฐ : df.filter(df.col_name.isNull()).count()
    • ๊ฒฐ์ธก์น˜๊ฐ€ ์žˆ๋Š” ํ–‰ ์ œ๊ฑฐ : df.na.drop(how="any").show(truncate=False)
  2. ์ค‘๋ณต๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
    • ์ค‘๋ณต๋ฐ์ดํ„ฐ ํ™•์ธ : df.show()
    • ์ค‘๋ณต๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ : df.dropDuplicates(['id', 'name']).show()
  3. ๋ฐ์ดํ„ฐ ์ •๊ทœํ™”
    • feature๊ฐ€ ํ‰๊ท 0, ํ‘œ์ค€ํŽธ์ฐจ๊ฐ€ 1์ธ ๋ถ„ํฌ๋ฅผ ๊ฐ–๋„๋ก ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ทœํ™”
      • sScaler = StandardScaler().setInputCol("features")
      • sScaler.fit(scaleDF).transform(scaleDF).show()
  4. Feature Engineering
    • ์ฃผ์„ฑ๋ถ„ ๋ถ„์„(PCA)๋ฅผ ํ†ตํ•œ Feature์˜ ์ฐจ์› ์ถ•์†Œ
      • pca = PCA().setInputCol("features").setK(2)
      • pca.fit(scaleDF).transform(scaleDF).show(20, False)