๋ชฉ๋ก์ ์ฒด ๊ธ (59)
๐ฅ
streaming ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ filter, count ๋ฑ ์ฌ๋ฌ๊ฐ์ง ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.๊ณผ๊ฑฐ ๋ฐ์ดํฐ์ ์ ๋ณด๊ฐ ํ์์๋ stateless ์ฐ์ฐ์์, ๊ณผ๊ฑฐ์ ๋ฐ์ดํฐ๊ฐ ํ์ํด ๋ฐ์ดํฐ ์ ์ง๊ฐ ํ์ํ statefull ์ฐ์ฐ์๋ก ๋๋ ์ ์๋ค.Stateless Trasformation๊ณผ๊ฑฐ์ ๋ฐ์ดํฐ์ ์๊ด ์์ด ํ์ฌ์ ๋ฐ์ดํฐ๋ง ์ฌ์ฉํ๋ ์ฐ์ฐ์Stateful Transfmraion์ด์ ๋ฐฐ์น์ ๋ฐ์ดํฐ์ ์ ์ง๊ฐ ํ์ํ ์ฐ์ฐ์์: aggreagion, counter, join, group, windowing ๋ฑStateless Transformation๊ฐ ๋ฐฐ์น๋ฅผ ์ด์ ๋ฐฐ์น๋ฅผ ์ฐธ์กฐํ์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ค. -> ๋ฐฐ์น์ ์ถ๋ ฅ์ด ํด๋น ๋ฐฐ์น์ ๋ฐ์ดํฐ๋ง์ ๊ธฐ๋ฐ์ผ๋ก ํจ์ ์๋ฏธselect, filter, map, fla..
deployment ๋ statefulsets yaml ํ์ผ์์ ์ค์ ํ๋ ๋ฐฉ๋ฒ `spec.template.spec.nodeSelector`์ถ๊ฐ (containers ์ ๊ฐ์ depth) ์ถ๊ฐ๋ก ๋ฐ์ดํฐํ์ ์ด map[string] ์ด์ด์ผํด์ ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ ธ์์ผ๋ฉด ๋ฐ์ดํ ์ถ๊ฐ ํ์
airflow์์ nifi processor๋ก trigger๋ฅผ ๋ณด๋ด์ผ ํ๋ค. ์ฌ์ค nifi์์ restAPI๋ฅผ ์ง์ํด์ฃผ๊ธฐ ๋๋ฌธ์ NIFI ETL ์์ฒด๋ฅผ ์์ํ๋ ๊ฒ์ ํฐ ๋ฌธ์ ๊ฐ ์๋์ง๋ง nifi ์์ ์ดํ์ airflow์์ ํ์ task๊ฐ ์๋ค๋ฉด ETL์ด ์ด๋ ์์ ์ ๋๋๋ ์ง๋ฅผ ํ์ธํ๋ ๊ฒ ์ด๋ ค์ ๋ค. NIFI๋ processor ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, flowfile์ด processor์ ์ธํ๋๋ฉด ๋ฐ๋ก ์ฒ๋ฆฌ ํ output stream์ผ๋ก ๋ด๋ณด๋ด๊ธฐ ๋๋ฌธ์ ์ข ๋ฃ ์์ ์ ๋ช ํํ ์ ์๊ฐ ์์๋ค. ์๋ ๋ธ๋ก๊ทธ์์ airflow์์ nifi ๋ฅผ ํธ๋ฆฌ๊ฑฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๊ฐํ์ง๋ง ์์ ๋ ธ๋๋ฅผ `GenerateFlowFile`๋ก ์ค์ ํด์ผ ํ๋ ๋ฑ ์ ์ฝ์กฐ๊ฑด์ด ์์๋ค. https://towardsdatasci..
Background ์ค์๊ฐ stream ์ฒ๋ฆฌ๋ ์ง์์ ์ธ input stream์ ํน์ฑ ์ ์ค๋จ๋์ง ์๊ณ 24์๊ฐ ์คํ๋๋ฏ๋ก ์ฌ๋ฌ ์ค๋ฅ ์์ธ์ผ๋ก failure์ด ๋ฐ์ํ ์ ์๋ค. input stream์ด ์์ฑ๋ ์ฝ๋๋ก ์ฒ๋ฆฌ๋ ์ ์๋ ๊ฒฝ์ฐ (์๋ชป๋ ํ์์ ๋ฐ์ดํฐ) ์์คํ /cluster ์ค๋ฅ์ ๊ฒฝ์ฐ Spark Streaming์์์ Fault Tolerance ์ ์ ์คํํฌ์ ๋ชฉํ๋ end-to-end Exactly Once ๋ณด์ฅ์ด๋ค. (์ฐธ๊ณ ) At Most Once: ๊ฐ ๋ ์ฝ๋๋ ํ ๋ฒ๋ง ์ฒ๋ฆฌ๋๊ฑฐ๋ ์์ ์ฒ๋ฆฌ๋์ง ์๋๋ค. At Least Once: ๊ฐ ๋ ์ฝ๋๊ฐ ํ ๋ฒ ์ด์ ์ฒ๋ฆฌ๋๋ค. ๋ฐ์ดํฐ๊ฐ ์์ค๋์ง ์๋๋ก ๋ณด์ฅํ๋ฏ๋ก At Most Once๋ณด๋ค ๊ฐ๋ ฅํ์ง๋ง ์ค๋ณต์ด ์์ ์ ์๋ค. Exactly Once: ๊ฐ ..
Spark Streaming ์ด๋ core spark API์ ํ์ฅ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ถ์ฐ ์คํธ๋ฆผ ์ฒ๋ฆฌ ํ๋ก์ธ์ฑ์ ์ง์ํ๋ค. streaming ํ์ ์ผ๋ก๋ ์๋์ ๊ฐ์ด ๋ ์ข ๋ฅ๊ฐ ์๋๋ฐ spark streaming์ RDD ๋ฒ ์ด์ค ์์ง์ผ๋ก, 2.x๋ฒ์ ๊น์ง ์ง์ํ๊ณ ์ดํ ๋์ด์ ์ ๋ฐ์ดํธ ๋์ง ์๋ ๋ ๊ฑฐ์ ํ๋ก์ ํธ์ด๋ค. Spark Streaming ์ข ๋ฅ Spark Streaming: RDD ๊ธฐ๋ฐ์ micro-batch ์ํ Spark Structured Streaming: Dataframe ๊ธฐ๋ฐ micro-batch ์ํ, ์ ์ง์ฐ ์ฒ๋ฆฌ ๋ชจ๋๋ฅผ ๋์ ํจ์ผ๋ก์จ ์ค์๊ฐ์ ๊ฐ๊น์ด ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง. Spark Structured Streaming ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ structured streaming์์๋ ํธ๋ฆฌ๊ฑฐ ๊ฐ๊ฒฉ๋ง๋ค ์์ ..