๋ชฉ๋ก๋ฐ์ดํฐ/Spark (22)
๐ฅ
SQL Hint ์ฐธ๊ณ : https://spark.apache.org/docs/latest/sql-ref-syntax-qry-select-hints.html ๋ฌธ๋ฒ /*+ hint [ , ... ] */ ํํฐ์ ๋ ํํธ ํํฐ์ ๋ ์ ๋ต์ ์ ์ํ ์ ์๋ค. COALESCE `coalesce` dataset API์ ๋์ผํ๋ค. ๋งค๊ฐ๋ณ์๋ ํํฐ์ ๊ฐ์์ด๊ณ , ์ง์ ๋ ํํฐ์ ์๋ก ์ค์ผ ์ ์๋ค. SELECT /*+ COALESCE(3) */ * FROM t; REPARTITION `repartition` dataset API ์ ๋์ผํ๋ค.ํํฐ์ ๊ฐ์, ์ปฌ๋ผ๋ช ์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ ์ ์๊ณ ์ง์ ๋ ์์ ํํฐ์ ์ผ๋ก ๋ค์ ๋ถํ ํ๋๋ฐ์ ์ฌ์ฉ๋๋ค. SELECT /*+ REPARTITION(3) */ * FROM t; SELECT ..
Application ์ค์ผ์ฅด๋ง ๊ด๋ จํ์ฌ https://community.cloudera.com/t5/Community-Articles/Dynamic-Allocation-in-Apache-Spark/ta-p/368095 ์ด์ชฝ์ ์ ๋ฆฌ๊ฐ ์ ๋์ด ์๋ค. SRA(Static Resource Allocation) spark ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํ๋๊ธฐ ์ ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ ๋ฆฌ์์ค๋ฅผ ๋ฏธ๋ฆฌ ์์ฝํด๋๋ค. ์ด ๋ฆฌ์์ค์ ์์ ๊ณ ์ ๋์ด์ ๋ฐํ์์ค์๋ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค. ๋ง์ฝ ํ ๋น๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํ๋ค๋ฉด ์คํ์๊ฐ์ด ๊ธธ์ด์ง๊ฑฐ๋ ์คํจํ ์ ์๋ค. ๋ฆฌ์์ค๊ฐ ๊ณ ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ง์ฝ ํ ๋น๋ ๋ฆฌ์์ค๊ฐ ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ๋์ง ์๋๋ค๋ฉด ๋นํจ์จ์ ์ธ ๋ฆฌ์์ค ํ์ฉ์ผ๋ก ์ด์ด์ง๊ฒ ๋๋ค. ๋ํ ๋ฐํ์์ค์ ๋ฆฌ์์ค๋ฅผ ์กฐ์ ํ๋๊ฒ์ด ๋ถ๊ฐ..
์คํํฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉด action ์ฐ์ฐ์ ์ํ ์์ ๋ฐ์ดํฐ๊ฐ ๋ก๋๋๋ค. ๋ฐ๋ณต๋ ๋์ผํ ์ฐ์ฐ์ ํ๋ค๋ฉด ๋งค๋ฒ action ๋ ๋ก๋ํ์ง ์๊ณ cache()์ persist()๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผ์ํฌ ์ ์๋ค. ์บ์๋ ๋ฐ์ดํฐ๋ storage memory์ ๋ณด๊ด๋๋ค. 1. cache() ์ persist() cache์ persist ๋ชจ๋ ๋์ผํ๋ฐ persist์์๋ storageLevel์ ์ค์ ํด์ค ์ ์๋ค๋ ์ ์์ ์ฐจ์ด๊ฐ ์๋ค. `cache()`๋ Dataframe ์ ๊ฒฝ์ฐ`persist(storageLevel=MEMORY_AND_DISK)` , RDD์ ๊ฒฝ์ฐ ` persist(storageLevel=MEMORY_ONLY)` ์ ๊ฐ์ ํจ์์ด๋ค. https://spark.apache.org/..
๋ถ์ฐ ํ๊ฒฝ์์๋ ๊ณ ๋ฅด์ง ๋ชปํ ๋ฆฌ์์ค, ๋ฐ์ดํฐ ๋ก๋ ๋ฑ task ์คํ ์๋๊ฐ ๋๋ ค์ง๋ ์ํฉ์ด ๋ง์ด ์๋ค. Speculative Execution ํ ๋จ๊ณ์์ ์ฌ๋ฌ ์์ ์ ์คํ ์๊ฐ์ด ๋ค๋ฅผ ์ ์๋ค. ๋ค๋ฅธ task์ ๋น๊ตํ์ฌ ํนํ ๋๋ฆฌ๊ฒ ์คํ๋๋ Task๊ฐ ์์ ์ ์๋๋ฐ, ํด๋ฌ์คํฐ ๋ด ๋ ธ๋์ ๊ตฌ์ฑ ์ฑ๋ฅ ์ฐจ์ด, ๋คํธ์ํฌ ๋ณ๋ ๋ฑ์ ์ด์ ๊ฐ ์์ ์ ์๋ค. speculative execution์ ๋์ผํ ๋จ๊ณ์ ์ค๋ซ๋์ ์๋ฃ๋์ง ์๋ ์์ ์ด ์์ ๊ฒฝ์ฐ, ๋ค๋ฅธ ๋ ธ๋์์ ๋์ผํ ์์ ์ ์์ํ๊ณ , ๋จผ์ ์๋ฃ๋๋ task๋ฅผ ์ฑ๊ณต์ฒ๋ฆฌํ๊ณ , ์ด์ธ์ ๋ค๋ฅธ ์๋๋ ์ข ๋ฃํ๋ค. ํด๋ฌ์คํฐ ๋ด ๋ ธ๋ ๊ฐ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์๋ ๊ฒฝ์ฐ speculative execution ๊ธฐ๋ฅ์ ํ์ฑํํ๋ ๊ฒ์ด ์ข๋ค. ์ฃผ์ ๊ตฌ์ฑ ์ต์ spark.specul..