[Hadoop Study] ํ์ด๋ธ(Hive) (1) - ํ์ด๋ธ ๊ตฌ์กฐ์ ์๋ ๊ณผ์
Hadoop ์ด์ ๊ธ
2020/11/12 - [Data Science/Hadoop] - [Hadoop Study] vol 1. Hadoop์ด๋?
2021/01/10 - [Data Science/Hadoop] - [Hadoop Study] vol 3. ๋งต๋ฆฌ๋์ค(MapReduce) ๊ฐ๋ ๊ณผ ๊ตฌ์กฐ
๋ค์ด๊ฐ๋ฉฐ
ํ๋ก์ ์ ์ฅ๋ ๋ฐ์ดํฐ(HDFS)๋ฅผ SQL๊ฐ์ ์ฟผ๋ฆฌ๋ก ์ง์, ๋ถ์ ๋ฑ์ ๊ธฐ๋ฅ์ ํด์ฃผ๋ ํ์ด๋ธ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ด๊ธฐ์ Facebook์์ RDBMS๋ก๋ ์ฒ๋ฆฌํ๊ธฐ ํ๋ ๋์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๊ฐ๋ฐํ์ผ๋ฉฐ ํ์ฌ๋ ์ํ์น์ ์ํด์๋ ์คํ์์ค๋ก ํ๋ก ์์ฝ์์คํ ์ ์ผ๋ถ๊ฐ ๋์์ต๋๋ค. HDFS๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ๋งต๋ฆฌ๋์ค ์์ ์ Java/Python์ผ๋ก ์ง์ ์์ฑํด์ผ ํ๋๋ฐ, ์ด๋ฌํ ์์ ์ ์ค๋๊ฑธ๋ฆฌ๊ณ ์ง์ ์ฅ๋ฒฝ์ด ์์ต๋๋ค. ์ด๋ฅผ ์ํด, SQL๋ง ์๋ฉด ๋๊ตฌ๋ HDFS๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ํ์ด๋ธ๊ฐ ๊ฐ๋ฐ ๋์์ต๋๋ค.
ํ์ด๋ธ์์ ์ฌ์ฉํ๋ SQL์ HiveQL์ด๋ผ๊ณ ํ๋ SQL์ ์ผ๋ถ์ ์ํ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. SQL๊ณผ ๊ฑฐ์ ๋น์ทํ์ง๋ง Having์ ๊ณผ ๊ฐ์ ์ผ๋ถ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ๋ชปํ๋ ํน์ง์ด ์์ต๋๋ค.
Hive Architecture
Hive๊ฐ ์ด๋ค ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด ์๋์ง ๋ณด๊ฒ ์ต๋๋ค.
์ ์ฒด์ ์ธ ๊ตฌ์กฐ์์ ์ฃผ์ ์ญํ ์ ํ๋ ์ธ๊ฐ์ง ์์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
1. Meta Store
Meta Store๋ Hive๊ฐ ๊ตฌ๋๋ ๋ ํ์ํ ํ ์ด๋ธ ์คํค๋ง ๊ตฌ์กฐ๋ ๋ค์ํ ์ค์ ๊ฐ๋ค์ ์ ์ฅํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์, Hive ๊ตฌ์กฐ์์ ๊ฐ์ฅ ์ค์ํ ์์์ด๊ณ ๋ง์ฝ Meta Store์ ์ด์์ด ์๊ธธ ๊ฒฝ์ฐ ํ์ด๋ธ๋ ์ ์ ์๋์ด ํ๋ฆ๋๋ค. ๋ฐ๋ผ์ Meta Store์ ์ ์ฅ๋ ์ ๋ณด์ ๋ํ ๋ฐฑ์ ๊ณํ์ ์ธ์ฐ๊ณ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
2. Hive Server
ํ์ด๋ธ ์๋ฒ๋ ํ์ด๋ธ์ ์ง์ํ๋ ๊ฐ์ฅ ์๋จ์ ์๋ฒ์ ๋๋ค. ์ฆ, JDBC๋ ODBC๋ก๋ถํฐ ์ง์๋ฅผ ๋ฐ๊ณ ์ด๋ฅผ Driver์ ์ ๋ฌํ๋ ์ญํ ์ ํฉ๋๋ค. ํ์ด๋ธ ์๋ฒ๋ ๊ถํ๊ณผ ์ ๊ทผ์ฑ ๊ฒ์ฆ์ ์ฒดํฌํฉ๋๋ค. ๊ทธ๋ฆผ์์ ํ์ด๋ธ ์๋ฒ ์์ CLI(Comment Line Interface)๊ฐ ๋ณด์ด๋๋ฐ CLI๋ฅผ ํตํ ๊ฒฝ์ฐ, Driver์ ๋ฐ๋ก ์ ๊ทผํ์ฌ ๊ธฐํ ๊ถํ์ด๋ ์ ์ด๊ถ์ ๋ฌด์ํ๊ณ ๋ชจ๋ ์ปจํธ๋กค์ด ๊ฐ๋ฅํด์ง๋๋ค. ์ค์ ์๋น์ค๋ฅผ ์ด์ํ ๋๋ ์ฃผ์๊ฐ ํ์ํ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค.
3. Driver
๋๋ผ์ด๋ฒ๋ Hive์ ์์ง์ผ๋ก์จ ์ฌ๋ฌ ์ง์๋ฅผ ๋ฐ์์ Optimizer๋ฅผ ํตํด HiveQL์ ํด์ํ๊ณ MR, Spark ๋ฑ์ ์ฌ๋ฌ ์ฒ๋ฆฌ ๋๊ตฌ์ ์ฐ๋ํ๋ ์ญํ ์ ํฉ๋๋ค.
Hive Work Process
ํ์ด๋ธ Work์ ์คํ ํ๋ก์ธ์ค๋ฅผ ๊ฐ๋จํ ์ ๋ฆฌํ์๋ฉด
1. ์ฌ์ฉ์๊ฐ ์์ฒญํ SQL๋ฌธ์ ๋๋ผ์ด๋ฒ๊ฐ ์ปดํ์ผ๋ฌ์ ์์ฒญ
2. ์ปดํ์ผ๋ฌ๊ฐ ๋ฉํ์คํ ์ด ์ ๋ณด๋ฅผ ์ด์ฉํ์ฌ ์ฒ๋ฆฌ์ ์ ํฉํ ํํ๋ก ์ปดํ์ผ
3. ์ปดํ์ผ๋ SQL ์คํ
4. ๋ฆฌ์์ค ๋งค๋์ ๊ฐ ํด๋ฌ์คํฐ ์์์ ์ ์ ํ ์ฌ์ฉํ์ฌ ์คํ
5. ์คํ ์ค ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ HDFS ๋ฑ์ ์ ์ฅ์ฅ์น๋ฅผ ์ด์ฉ
6. ์คํ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ฐํ
๋ง์น๋ฉฐ
์ค๋์ ํ๋ก ์์ฝ์์คํ ์์ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๊ธฐ๋ฅ์ธ Hive์ ๊ตฌ์กฐ์ ๋์ ๊ณผ์ ์ ๋ํด ์์๋ณด์์ต๋๋ค. SQL๋ก ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํ, ๋ถ์, ์ฒ๋ฆฌ ๋ฑ์ ํ ์ ์๊ธฐ๋๋ฌธ์ ์ค์ ๋ก ์ ๋ง ํธ๋ฆฌํ ๊ธฐ๋ฅ์ ๋๋ค. ์ฌ์ค Hive๋ณด๋ค ์์์ ํธ๋ฆฌํ ๊ธฐ๋ฅ๋ค๋ ๋ง์ง๋ง ๋ฒ์ฉ์ ์ผ๋ก ์ฐ์ด๊ณ ์๊ณ ์ฐ๋๋๋ ๋ถ๋ถ๋ ๋ง๊ธฐ ๋๋ฌธ์ Hive์ ๋ํด ํ๋ฒ์ฏค์ ์ง๊ณ ๋์ด๊ฐ๋๊ฒ ๋ง๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ค์ ํฌ์คํ ์์ ํ์ด๋ธ์ ํ ์ด๋ธ๊ณผ ํจ์์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
Reference
'Data Engineering > Hadoop' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Hadoop Study] vol 3. ๋งต๋ฆฌ๋์ค(MapReduce) ๊ฐ๋ ๊ณผ ๊ตฌ์กฐ (1) | 2021.01.10 |
---|---|
[Hadoop Study] vol 2. HDFS(Hadoop Distributed File System) ๊ฐ๋ ๊ณผ ๊ตฌ์กฐ (4) | 2020.11.28 |
[Hadoop Study] vol 1. Hadoop์ด๋? (2) | 2020.11.12 |
๋๊ธ