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

data_lab

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

BIGDATA/ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ

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

๐Ÿฐํžˆํžˆ 2021. 3. 5. 01:21

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 dfsmkdir 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 ํ˜•์‹

 

์™ธ๋ถ€ ํ…Œ์ด๋ธ” ์ƒ์„ฑ

suhdfs

hdfs dfsmkdir /Smartcar

hdfs dfs –put /txtfile.txt /Smartcar

hdfs dfschown –R hive /Smartcar

hdfs dfschmod –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

728x90
๋ฐ˜์‘ํ˜•