ํ์ด๋ธ๋?
RDBMS
์คํค๋ง์ ์์กด์ฑ ๊ฐํจ ์ผ๋ก
์์ ์ด ์งํ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ๊ฐ ์์
- ์คํค๋ง๊ฐ ์ ๋๋ก ์ ์๋์ด ์์ง์๊ฑฐ๋
- ์ฟผ๋ฆฌ๋ฅผ ํตํ ์ง์๊ฐ ์คํค๋ง์ ๋ง์ง ์์ ๊ฒฝ์ฐ
๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌํ๋๋ฐ ๋ถ์ ์ ํจ – ๋ง์ ์๊ฐ ์์๋จ
HIVE
๋ฐ์ดํฐ์จ์ด ํ์ฐ์ง ์ธํ๋ผ
๋ฐ์ดํฐ ์ ์ฅ, ์ฒ๋ฆฌ์ ์คํค๋ง ๊ฒ์ฆ ์์
์คํค๋ง์ ๋ง์ง ์๋ ์ฟผ๋ฆฌ๋ null ๋ฆฌํด
- SQL๊ณผ ์ ์ฌํ HiveQL ์ฌ์ฉ
- MapReduce ํ๋ก๊ทธ๋จ ์์ฑ ๋์ ์ฟผ๋ฆฌ ์ธํฐํ์ด์ค ์๋น์ค ์ ๊ณต
- ์ฟผ๋ฆฌ ์คํ ์ MapReduce ํ๋ก๊ทธ๋จ์ผ๋ก ์ ํ๋์ด ๊ฒฐ๊ณผ ์์ฑ
- ๋น ์ ํํ๋ ์ ๋ ฅ ์์ค ๋ถ์์๋ ์ ํฉํ์ง ์์
HIVE Architecture
-HIVE Client
-JDBC ์์ฉ ํ๋ก๊ทธ๋จ ์ง์ ,
-Thrift ๊ธฐ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ ์ง์(์๋ก ์ปค๋ฎค๋์ผ์ด์ ํ ์ ์๋ ํต์ ํ๋กํ ์ฝ),
-ODBC๊ธฐ๋ฐ ์์ฉ ํ๋ก๊ทธ๋จ ์ง์
-HIVE Server
-HIVE ์๋ฒ
-CLI Command line interface : ์ ์ ๊ฐ HIVE ์ฟผ๋ฆฌ ์ฌ์ฉํ ์ ์๋ ์ธํฐํ์ด์ค
-Hive Web Interface : ์ ์ ๊ฐ HIVE ์ฟผ๋ฆฌ ์ฌ์ฉํ ์ ์๋ ์น ์ธํฐํ์ด์ค
-Driver : HIVE์ job์ด ์์ ๋ ์์ฑํ๊ณ ํ๋ํจ, meta-store์ ๋ฌผ์ด ๋ด
-meta-store : ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์๋ ์ ์ฅ๊ณต๊ฐ(ํ ์ด๋ธ์ ๋ณด ๋ฑ)
-Apache Derby Database : ์ค์ ํ ์ด๋ธ์ ๋ด์ฉ๋ฌผ์ธ ๋ฐ์ดํฐ ์ ์ฅํ ์ ์์(HDFS๋ฅผ ์ฃผ๋ก ์ฌ์ฉํจ)
HIVE ๋ฐ์ดํฐ ๋ชจ๋ธ
Hadoop ์์ ๊ตฌ์ถ๋ ์ ํํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ฟผ๋ฆฌํ๋ ์์คํ
์คํ ๋ฆฌ์ง๋ก HDFS์ฌ์ฉํจ
OLTP์๋ ์ ํฉํ์ง ์์
๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฐฉ์
ํ ์ด๋ธ์ ํด๋น ๋๋ ์์๋ฅผ HDFS ๋๋ ํ ๋ฆฌ๋ก ๋งตํ
ํํฐ์ ํ ์ด๋ธ ์์๋ฅผ ํํฐ์ ๋ ํ ์ ์๋๋ฐ HDFS ์๋ธ ๋๋ ํฐ๋ฆฌ
๋ฐ์ดํฐ๋ HDFS์ ํ์ผ๋ก ์๊ฐํ์.
HIVE ๋ฉํ์คํ ์ด
ํ ์ด๋ธ์ ๋ฉํ์ ๋ณด๋ฅผ ์ ์ฅํจ
์นผ๋ผ์ ๋ฐ์ดํฐ ํ์ ๋ฑ ์ค์ ๋ฐ์ดํฐ๊ฐ ์๋ ์ ๋ณด๋ค์ ๋ฉํ์ ๋ณด๋ก ๊ฐ์ฃผ
ํ์ด๋ธ ํ ์ด๋ธ์ ๋ฉํ์คํ ์ด์ ์ ์ฅ๋ ์คํค๋ง๋ก ๊ตฌ์ฑ๋๊ณ ๋ฐ์ดํฐ๋ HDFS์ ์ ์ฅ๋จ
ํ์ด๋ธ ์ฟผ๋ฆฌ ์ธํฐํ์ด์ค
-ํ์ด๋ธ ํด๋ผ์ด์ธํธ(์์ )
hive ์ ๋ ฅ
ํ์ด๋ธ ๋์ ๊ณผ์ 1. ์๋ฒ๊ฐ ์ฌ์ฉ์์ HiveQL ๋ช ๋ น์ด ํด์ํ์ฌ ๋งต๋ฆฌ๋์ค ์์ ์ผ๋ก ๋ณํ
2. ๋ฉํ์คํ ์ด์์ ํ ์ด๋ธ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ์์น๋ฅผ ์ป์
3. ์ค์ ๋ฐ์ดํฐ ์ง์ ์ ๋ฌ
-beeline ํด๋ผ์ด์ธํธ(์ต์ )
ํ์ด๋ธ์ Hcatalog
-์์ฝ์์คํ ์ด ๋ฉํ์คํ ์ด์ ์ ๊ทผ ํ ์ ์๋ ์ค๊ฐ๊ณ ๋ฆฌ ์ญํ
-๋ฉํ์คํ ์ด ๊ด๋ฆฌ
HIVE ํ ์ด๋ธ ๊ด๋ฆฌ
HIVE ํ ์ด๋ธ
1. ๋ฐ์ดํฐ๋ฅผ HIVE ํ ์ด๋ธ๋ก ๊ฐ์ ธ์ค๋ฉด?
HiveQL, ํผ๊ทธ, ์คํํฌ ๋ฑ์ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌ > ์ํธ์ด์ ๋ณด์ฅ
2. HIVE๊ฐ ์ง์ํ๋ ํ ์ด๋ธ ์ข ๋ฅ
- ๋ด๋ถ ํ ์ด๋ธ : HIVE๊ฐ ๊ด๋ฆฌ, HIVE/ ๋ฐ์ดํฐ์จ์ดํ์ฐ์ค์ ์ ์ฅ, ๋ด๋ถํ ์ด๋ธ ์ญ์ ์ ๋ฉํ์ ์์ ๋ฐ์ดํฐ๊น์ง ์ญ์ ๋จ,
ORC๊ฐ์ ํ์์ผ๋ก ์ ์ฅ๋์ด ๋น๊ต์ ๋น ๋ฅธ ์ฑ๋ฅ
- ์ธ๋ถ ํ ์ด๋ธ : ํ์ด๋ธ๊ฐ ์ง์ ๊ด๋ฆฌํ์ง ์์,
ํ์ด๋ธ์ ๋ฉํ์ ์๋ง ์ฌ์ฉํ์ฌ ์์ ํํ๋ก ์ ์ฅ๋ ํ ์คํธ ๋ฐ์ดํฐ์ ์ ๊ทผ
์ธ๋ถ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํด๋ ํ ์ด๋ธ ๋ฉํ ์ ์๋ง ์ญ์ ๋๊ณ ๋ฐ์ดํฐ๋ ์ ์ง๋จ.
ํด๋น ๋ฐ์ดํฐ๊ฐ ํ์ด๋ธ ์ธ๋ถ์ ์ ์ฌ ๋์ด์๊ฑฐ๋ ํ ์ด๋ธ์ด ์ญ์ ๋๋๋ผ๋ ์๋ณธ ๋ฐ์ดํฐ๊ฐ ๋จ์ ์์ด์ผํ ๋ ์ฌ์ฉ
3.csv ํ์ผ์ ํ์ด๋ธ ํ ์ด๋ธ๋ก ๊ฐ์ ธ์ค๊ธฐ
1.names.csv ์ HDFS์ ๋ณต์ฌ
2. hdfs dfs –mkdir names
3. hdfs dfs –put names.csv names
4. hive ์คํ ํ ์ฟผ๋ฆฌ๋ก ํ ์ด๋ธ ์์ฑ location ‘/directory’ ๊ตฌ๋ฌธ์ ํ ์ด๋ธ์ด ์ฌ์ฉํ ์ ๋ ฅ ํ์ผ์ ๊ฒฝ๋ก์ด๋ค.
5. select * from ~ ๋ฐ์ดํฐ ํ์ธํ๊ธฐ
6. stored as orc > ๋ด๋ถ ํ ์ด๋ธ
7. ๋ฐ์ดํฐ ํ์ – ํ ์คํธ ํ์ผ, ์ํ์ค ํ์ผ(k-v์), RC ํ์ผ, ORC ํ์, Parquet ํ์
์ธ๋ถ ํ ์ด๋ธ ์์ฑ
su – hdfs
hdfs dfs –mkdir /Smartcar
hdfs dfs –put /txtfile.txt /Smartcar
hdfs dfs –chown –R hive /Smartcar
hdfs dfs –chmod –R 777 /Smartcar
su – hive
hive
create external table (~) ~ location /Smartcar;
๋ด๋ถ ํ ์ด๋ธ ์์ฑ
create table (~) ~ location /Smartcar;
์ธ๋ถ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ๋ด๋ถ ํ ์ด๋ธ๋ก ๋ณต์ฌ
insert overwrite table SmartCar_in
select * from SmartCar_ex;
๋ด๋ถ ํ ์ด๋ธ ๋๋ ํฐ๋ฆฌ ์์ฑํ์ธ
hdfs dfs –ls /Smartcar
/Smartcar/base_0000001/bucket_00000/bucket_00000