Spark์˜ ์ง๋ ฌํ™”, ๊ทธ๋ฆฌ๊ณ  ์ง๋ ฌํ™” ์„ฑ๋Šฅ์„ ์˜ฌ๋ ค์ฃผ๋Š” Kryo Serializer ์‚ฌ์šฉํ•˜๊ธฐ.

1 minute read

Databricks Certification ์ทจ๋“์„ ๋ชฉํ‘œ๋กœ Apache Spark๋ฅผ โ€œ์ œ๋Œ€๋กœโ€ ๊ณต๋ถ€ํ•ด๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํšŒ์‚ฌ์—์„  Databricks Unity Catalog๋ฅผ ๋„์ž…ํ•˜๋ ค๊ณ  ๋ถ„ํˆฌํ•˜๊ณ  ์žˆ๋Š”๋ฐ์š”. Spark์™€ ์ข€ ์นœํ•ด์งˆ ์ˆ˜ ์žˆ์„๊นŒ์š”? ๐ŸŽ‡ ์ „์ฒด ํฌ์ŠคํŠธ๋Š” Development - Spark์—์„œ ํ™•์ธํ•ด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง๋ ฌํ™”๋ž€?

์ง๋ ฌํ™”(Serialization)์ด๋ž€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(Java, Python ๋“ฑ๋“ฑ)์˜ ๊ฐ์ฒด๋ฅผ ๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๋งท์ธ byte ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์„ ๋งํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋„คํŠธ์›Œํฌ๋‚˜ ์ €์žฅ์†Œ๋กœ ๋ณด๋‚ด๋Š” ์ฒ˜๋ฆฌํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ Json, Csv ๋˜๋Š” Python Pickle ํŒŒ์ผ๋กœ ์ €์žฅํ•˜๋Š” ๋ชจ๋“  ๊ณผ์ •์ด ์ง๋ ฌํ™”์— ํ•ด๋‹นํ•œ๋‹ค.

๋ฐ˜๋Œ“๋ง์€ ์—ญ์ง๋ ฌํ™”(deserialization)์ด๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค. ํŒŒ์ผ๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ฝ๊ฑฐ๋‚˜, Response๋กœ ๋ฐ›์€ ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์ฝ๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค.

Spark์—์„œ์˜ ์ง๋ ฌํ™”

Spark์€ ๋งŽ์€ ๋ถ€๋ถ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง๋ ฌํ™” ํ•˜์—ฌ ์ „๋‹ฌํ•œ๋‹ค.

  1. ์›Œ์ปค ๋…ธ๋“œ ์‚ฌ์ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์…”ํ”Œ๋ง ํ•  ๋•Œ
  2. RDD ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•  ๋•Œ

Spark์—์„  2๊ฐ€์ง€ ๋ฐฉ์‹์˜ ์ง๋ ฌํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ, ํ•˜๋‚˜๊ฐ€ Java Serialization์ด๊ณ , ๋˜ ํ•˜๋‚˜๊ฐ€ ์š” ํฌ์ŠคํŠธ์—์„œ ์‚ดํŽด๋ณด๋Š” Kryo Serialization์ด๋‹ค.

Kryo Serializer

Spark ๋ฌธ์„œ์— ๋”ฐ๋ฅด๋ฉด, Kryo๊ฐ€ Java ์ง๋ ฌํ™” ๋ณด๋‹ค ๋ณดํ†ต 10๋ฐฐ ์ •๋„ ๋น ๋ฅด๋‹ค๊ณ  ํ•œ๋‹ค. Spark์—์„œ ๋‹ค๋ฃจ๋Š” ๋‹จ์ˆœ ๋ฐ์ดํ„ฐ๋“ค์„ Kryo๋ฅผ ์‚ฌ์šฉํ•ด ์ง๋ ฌํ™” ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํ™•์‹คํžˆ ๋‚ซ๋‹ค๋Š” ๋ง.

๋‹ค๋งŒ, ์š” Kryo ์ง๋ ฌํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด spark.serializer์˜ ๊ฐ’์„ org.apache.spark.serializer.KryoSerializer๋กœ ์ง์ ‘ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

์ง๋ ฌํ™”๋Š” ๊ฑฐ์˜ ๋ชจ๋“  Spark ์ž‘์—…์—์„œ ๋ฐ˜๋“œ์‹œ ์ผ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์—, Kryo ์ง๋ ฌํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฑด Spark ํŠœ๋‹์˜ ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด๋‹ค. ์‹ฌ์ง€์–ด Kryo๋ฅผ ์“ฐ๊ธฐ๋งŒ ํ•˜๋ฉด ๊ฐœ์„ ์ด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค!!! (๋Œ€๋ฐ•)

References

Categories:

Updated: