๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ (9)

data_lab

[ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ] Apache Avro / ์•„ํŒŒ์น˜ ์—์ด๋ธŒ๋กœ

์•„ํŒŒ์น˜ ์—์ด๋ธŒ๋กœ๋ž€ ? - ํŠน์ • ์–ธ์–ด์— ์ข…์†๋˜์ง€ ์•Š๋Š” ์–ธ์–ด ์ค‘๋ฆฝ์  ๋ฐ์ดํ„ฐ ์ง๋ ฌํ™” ์‹œ์Šคํ…œ - ํ•˜๋‘ก Writable์˜ ์ฃผ์š” ๋‹จ์ ์ธ ์–ธ์–ด ์ด์‹์„ฑ ํ•ด๊ฒฐ ์œ„ํ•ด ์ƒ๊ฒจ๋‚จ ์•„ํŒŒ์น˜ ์“ฐ๋ฆฌํ”„ํŠธ, ๊ตฌ๊ธ€ ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ์™€ ๋‹ค๋ฅธ ์ฐจ๋ณ„ํ™”๋œ ํŠน์„ฑ๊ฐ€์ง€๊ณ  ์žˆ์Œ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์–ธ์–ด ๋…๋ฆฝ ์Šคํ‚ค๋งˆ๋กœ ๊ธฐ์ˆ ๋จ ์—์ด๋ธŒ๋กœ์—์„œ ์ฝ”๋“œ ์ƒ์„ฑ์€ ์„ ํƒ์‚ฌํ•ญ์ž„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” ์‹œ์ ์— ์Šคํ‚ค๋งˆ๋Š” ํ•ญ์ƒ ์กด์žฌํ•œ๋‹ค ๊ฐ€์ •ํ•จ - ๋งค์šฐ ๊ฐ„๊ฒฐํ•œ ์ฝ”๋”ฉ์ด ๊ฐ€๋Šฅ ์Šคํ‚ค๋งˆ์˜ ์ž‘์„ฑ JSON ๋ฐ์ดํ„ฐ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๋งท์œผ๋กœ ์ธ์ฝ”๋”ฉ ์—์ด๋ธŒ๋กœ ๋ช…์„ธ - ๋ชจ๋“  ๊ตฌํ˜„์ฒด๊ฐ€ ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ๋ฒ„์ด๋„ˆ๋ฆฌ ํฌ๋งท์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ API - ์—์ด๋ธŒ๋กœ ๋ช…์„ธ์—์„œ ๋น ์ ธ์žˆ๋Š” ๋‚ด์šฉ์ž„. ๊ฐ ํŠน์ •์–ธ์–ด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ž‘์„ฑ๋จ. ์–ธ์–ด์˜ ๋ฐ”์ธ๋”ฉ ํŽธ์˜์„ฑ ๋†’์ด๊ณ  ์ƒํ˜ธ์šด์˜์„ฑ ์ €ํ•˜ ๋ฌธ์ œ ํ•ด๊ฒฐ๋จ ์Šคํ‚ค๋งˆํ•ด์„ - ์‹ ์ค‘ํ•˜๊ฒŒ ์ •์˜๋œ..

[Hue] ํœด ์„ค์น˜ ๊ฐ€์ด๋“œ / Hue ์„ค์น˜ ๊ฐ€์ด๋“œ 4.0.1

hue ์„ค์น˜ ํ•  ๋•Œ ์•ž์„œ ์žˆ๋˜ ํ•˜๋‘ก ์—์ฝ”์‹œ์Šคํ…œ๋“ค์ด ์–ด๋Š์ •๋„ ์„ค์น˜๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์ง„ํ–‰ํ•˜๊ฒ ๋‹ค. ํœด์˜ ๊ฒฝ์šฐ ์„ค์น˜ํ•˜๊ธฐ์ „์— ์‚ฌ์ „์ž‘์—…์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. postgres๋Š” ๋‹ค๋ฅธ ํฌ์ŠคํŠธ์—์„œ ์„ค์ •์„ ๋‹ค๋ฃจ๊ธฐ๋กœ ํ•˜๊ณ , ํœด ์„ค์น˜ ๊ฐ€์ด๋“œ ์—์„œ๋Š” ํœด์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์ƒ์„ฑ์ •๋„๋งŒ ๋‹ค๋ฃฐ ์˜ˆ์ •์ด๋‹ค. ์‚ฌ์ „์ž‘์—… ํœด๋Š” ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ํŒŒ์ด์ฌ ๋ฒ„์ „์„ ์žก์•„์ค˜์•ผํ•œ๋‹ค. ํ™˜๊ฒฝ๋ณ€์ˆ˜๋Š” .bash_profile ์— ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. ํŒŒ์ด์ฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ $ sudo vi ~/..bash_profile export PYTHON_VER=python3.8 psycopg2 ์„ค์น˜ (์ „์— pip๋„ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผํ•จ) $ pip install psycopg2 $ python setup.py build $ sudo python setup.py i..

[Apache zookeeper] zookeeper ์„ค์น˜ / ์•„ํŒŒ์น˜ ์ฃผํ‚คํผ ์„ค์น˜

์ฃผํ‚คํผ๋ž€ ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋ถ„์‚ฐ ์ฝ”๋””๋„ค์ด์…˜์ด๋‹ค. znode(์ €๋„๋…ธ๋“œ)๊ฐ€ ๊ฐ๊ฐ์˜ ์„œ๋ฒ„์— ์œ„์น˜ํ•ด ์žˆ๋‹ค.๊ฐ ํ•˜๋‘ก์˜ ์„œ๋น„์Šค๋“ค์ด ์ž˜ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.์ฃผ๊ธฐ์ ์œผ๋กœ ํ•˜ํŠธ๋น„ํŠธ ์š”๊ตฌํ•˜์—ฌ ๋ฐ›๋Š” ๋ฐฉ์‹์œผ๋กœ, ๋”ฐ๋ผ์„œ ์ฃผ๊ธฐํผ๋Š” ํ™€์ˆ˜๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ์—ฌ๊ธฐ์„œ ๋“ค์–ด๊ฐ€๋Š” ๊ฐœ๋…์ด ์ฟผ๋Ÿผ์ด๋‹ค. ์ฟผ๋Ÿผ์ด๋ž€? ๋‹ค์ˆ˜๊ฒฐ๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด 5๊ฐœ์˜ ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ ๋˜์–ด์žˆ๊ณ ,2๊ฐœ์˜ ์„œ๋ฒ„๊ฐ€ ์ฃฝ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค๊ณ  ํŒ๋‹จํ•œ๋‹ค.๊ทธ๋ฆฌ๊ณ  5๊ฐœ ์ค‘ 3๊ฐœ์˜ ์„œ๋ฒ„๊ฐ€ ์ฃฝ์—ˆ์„ ๊ฒฝ์šฐ, ๋‹ค์ˆ˜๊ฒฐ๋กœ ์ธํ•ด ๋น„์ •์ƒ์ด๋ผ๊ณ  ํŒ๋‹คํ•œ๋‹ค.๊ทธ๋กœ ์ธํ•ด, ์ฃผํ‚คํผ๋Š” ํ™€์ˆ˜๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. zookeeper ํด๋Ÿฌ์Šคํ„ฐ๋Š”ํ•˜๋‚˜์˜ ์„œ๋ฒ„๊ฐ€ ๋ฆฌ๋”์ด๊ณ , ๋‹ค๋ฅธ ์„œ๋ฒ„๋Š” ํŒ”๋กœ์›Œ์ด๋‹ค๋ฆฌ๋” ์„œ๋ฒ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ sync๋ฅผ ๋งž์ถ˜๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ณต์‹ ์‚ฌ์ดํŠธ ์ฐธ์กฐ๋ฐ”๋žŒ ์ฃผํ‚คํผ ์„ค์น˜ ๋ฐฉ๋ฒ•์ฃผํ‚คํผ ํŒŒ์ผ ..

ํ•˜์ด๋ธŒ๋ž€?

RDBMS ์Šคํ‚ค๋งˆ์— ์˜์กด์„ฑ ๊ฐ•ํ•จ ์œผ๋กœ ์ž‘์—…์ด ์ง„ํ–‰ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ - ์Šคํ‚ค๋งˆ๊ฐ€ ์ œ๋Œ€๋กœ ์ •์˜๋˜์–ด ์žˆ์ง€์•Š๊ฑฐ๋‚˜ - ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•œ ์งˆ์˜๊ฐ€ ์Šคํ‚ค๋งˆ์— ๋งž์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ๋ถ€์ ์ ˆํ•จ โ€“ ๋งŽ์€ ์‹œ๊ฐ„ ์†Œ์š”๋จ HIVE ๋ฐ์ดํ„ฐ์›จ์–ด ํ•˜์šฐ์ง• ์ธํ”„๋ผ ๋ฐ์ดํ„ฐ ์ €์žฅ, ์ฒ˜๋ฆฌ์— ์Šคํ‚ค๋งˆ ๊ฒ€์ฆ ์—†์Œ ์Šคํ‚ค๋งˆ์— ๋งž์ง€ ์•Š๋Š” ์ฟผ๋ฆฌ๋Š” null ๋ฆฌํ„ด SQL๊ณผ ์œ ์‚ฌํ•œ HiveQL ์‚ฌ์šฉ MapReduce ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ ๋Œ€์‹  ์ฟผ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค ์„œ๋น„์Šค ์ œ๊ณต ์ฟผ๋ฆฌ ์‹คํ–‰ ์‹œ MapReduce ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ „ํ™˜๋˜์–ด ๊ฒฐ๊ณผ ์ƒ์„ฑ ๋น„ ์ •ํ˜•ํ™”๋œ ์ž…๋ ฅ ์†Œ์Šค ๋ถ„์„์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์Œ HIVE Architecture -HIVE Client -JDBC ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ง€์› , -Thrift ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ง€์›(์„œ๋กœ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ํ•  ์ˆ˜ ์žˆ๋Š” ํ†ต์‹  ํ”„๋กœํ† ์ฝœ..

ํ•˜๋‘ก์ด๋ž€?

ํ•˜๋‘ก์— ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ ๋น…๋ฐ์ดํ„ฐ๊ฐ€ ๋ญ”์ง€ ์•Œ์•„๋ณด๋ ค ํ•œ๋‹ค. ๋น…๋ฐ์ดํ„ฐ๋ž€ ? ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋„๊ตฌ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๊ทœ๋ชจ๋กœ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋Š” OLTP์„ฑ์œผ๋กœ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๋‹ค. ๋น…๋ฐ์ดํ„ฐ๋Š” ์ •ํ™•์„ฑ์— ์ดˆ์ ์„ ๋‘๊ธฐ๋ณด๋‹ค๋Š” ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ์— ์ดˆ์ ์„ ๋‘๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ pk, update๋“ฑ ์•ˆ๋˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ๋กœ putํ•ด์•ผ ํ•œ๋‹ค. ๋น…๋ฐ์ดํ„ฐ 3V Volume ๋Œ€๊ทœ๋ชจ์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. (๊ธฐ์—…๋งˆ๋‹ค ์ฐจ์ด๋Š” ์žˆ์ง€๋งŒ ์ˆ˜์‹ญํ…Œ๋ผ๋ฐ”์ดํŠธ๋ถ€ํ„ฐ ์ˆ˜์‹ญํŽ˜ํƒ€๋ฐ์ดํ„ฐ ์ด์ƒ) Variety ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ฐฉ์‹์ด ๋‹ค์–‘ํ•˜๋‹ค. ์ •ํ˜• : ์˜๋ฏธ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฌ์šฐ๋ฉฐ ๊ทœ์น™์ ์ธ ๋ฐ์ดํ„ฐ ๋ฐ˜์ •ํ˜•: HTML, XML,JSON ํ˜•ํƒœ๋กœ ํ•œ ํ…์ŠคํŠธ์— column, value ๊ฐ™์ด ๋น„์ •ํ˜•:ํ…์ŠคํŠธ, ์Œ์„ฑ, ์˜์ƒ ..