๐2022-07-26๐
ํ๋ก ์์ฝ ์์คํ
hadoop eco system
๊ฐ๋ ์ ๋งจ ํ๋จ์ ํ๋กํ์ผ ์์คํ ์์ ์์ด ์ฌ๋ผ๊ฐ. yarn์ด ์ฌ๋ผ๊ฐ์ ์๋ง์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ์ํจ.
HDFS๋ฅผ ์ฌ์ฉํ noSQL ๋์ฉ๋ hdfs ๋ฅผ ์ฌ์ฉ hbase.. HDFS๋ฅผ ๋จธ์ ๋ฌ๋์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉ
PIG ์๋ฐ๋ฅผ ๋ชจ๋ฅด๋ ์ฌ๋๋ค์ ์ํ ํ์ด์ฌ ๋น์ทํ ์คํฌ๋ฆฝํธ ์ธ์ด mapreduceํ ์ ์๊ฒ.. ๊ฑฐ์ ์์ ์ฌ๋ผ์ก๋ค๊ณ ๋ด๋ ๋จ
์ด์ ๊ฐ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ SQL๋ก SQL ํ๋ก mapreduce ์์ ์ ํด์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋..
cloudera .. HIVE ์๋ฒฝํ ANSIํ์ค ์ง์ X .. TAJO ๊ณ ๋ ค๋ ๋ํ๊ต DBํ์ด ๋ง๋ค์ด๋๋ค. ์ฟผ๋ฆฌ๋ฌธ์ ์ด์ฉ
๊ฐ์ข ํ๋ก์ธ์ค๋ค ํต์ // ํต์ ์ด ํ์ํ ๊ฒฝ์ฐ ์ฌ๊ตฌ์ฑ zookeeper ๋๋ฌผ์ ๊ด๋ฆฌ
์ฃผํคํผ ์ฌ๋ฌ๊ฐ์ง ํต์ ์ ๊ด๋ฆฌ spark๋ toolSQL์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฌํ ์ํ์์ mapreduce spark๊ฐ ์ ๊ณตํ๋ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํด์ ์กฐ์ํ ์ ์๋ค. ๊ฐ๊ณต๊น์ง ์นจ๋ฒ..
FLUME
์๋ง ๋ฌ๊ธ์์ด ๋๋ฌผ์ด ์๋ ์ด์ ,,,? ํต๋๋ฌด ๋ชจ์
ํธ๋ ์ญ์ ์ฒ๋ฆฌ์๋ ํ๋๋๊น ์ด๋ค ์ฅ๋น๋ฅผ ์ํํธ์จ์ด ์ค์น ์๋ง์ ๋ก๊ทธ๋ค์ ์์๋ด๋๊น ๋ชจ๋ ๋ก๊ทธ๋ฅผ ๋ถ์
HDFS ๋ฐฐ์น์ฑ ์ฒ๋ฆฌ ์๋ํํ ์ ์์๊น ? ์ค์๊ฐ์ผ๋ก ๋์จ ๋ก๊ทธ๋ฅผ ์์์ฃผ๋ ๊ฒ.. ํ๋ฃธ์ผ๋ก ์ฐ๊ฒฐ
๋ก๊ทธ๋ฅผ ์์งํด์ HDFS ์์๋๋ ๊ฒ
HIVE๊ฐ mapreduce๋ฅผ ๋์ ํด์ค๋ค.
hadoop Cluster๊ฐ hdfs... CLI command line interface ์ง์ ๋๋ฆฐ๊ฑฐ
HIVEQL SQL ์ง์ ์ ์ผ๋ก ์ฐ์ง ์์
hadoop Cluster์ ๋ฐ์ดํฐ = ๋ฉํ๋ฐ์ดํฐ ๋ฉํ๋ฐ์ดํฐ์ ๋ํ ์ ๋ณด๊ฐ ํ์ํ๋ค . ๊ด๋ฆฌํด์ผํจ.
RDB์ ๋ค๊ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋๋ ค๋ฐ๋๋ค. RDB์์ ๋ค์ง๋ค๊ฐ ํ์ํ ๋ฐ์ดํฐ ์์ง
์ํ์น์ Derby.. 1์ธ์ฉ DB ๋ฉํฐ ์ ์ ๊ฐ๋น ๋ชปํจ.
MySQL์ RDB๋ก ์ฌ์ฉํ๋ค.
update . upgrade
mysql ์ค์น
3306/tcp๋ฅผ mysql ๋์ ์จ๋ ๋จ
์์คํ ๋ช ๋ น์ด ๋ณด๋ ๋ฐฉ๋ฒ
q ๋๊ฐ
ํฐ๋ฏธ๋๋ก ์ธ๋ถ์ ์์ ํ๊ธฐ ์ํด #์ผ๋ก ๋ง์์ค
์ฐ๋ถํฌ์์ mysql
์ฐ๋ถํฌ ๋ฃจํธ ๊ณ์ ๊ณผ ์ฐ๋๋์ด ์์
๋ฃจํธ๋ก ์น๊ณ ๋ค์ด๊ฐ.
ํ์ด๋ธ๊ฐ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ
์ ์ ๋ง๋ค๊ธฐ
๋ด๋ถ ์ ์
์ธ๋ถ ์ ์ ์ฌ์ฉ์ ๊ณ์ ๋ง๋ค๊ธฐ
๊ถํ ์ฃผ๊ธฐ
์ ์์ ์ผ๋ก ๋์๊ฐ ..
๋น ์ ธ ๋์์ ํ์ด๋ธ ์ค์นํ๊ธฐ
https://dlcdn.apache.org/hive/hive-3.1.3/
wget https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz ์ค์น
(๋งํฌ์ฃผ์๋ณต์ฌํด์ ๋ณต๋ถ)
tar zxvf apache-hive-3.1.3-bin.tar.gz
tar ์์ถํ๊ธฐ
apache-hive ์์ถ ์ญ์ ํ๊ธฐ rm
๊ฐ๋ตํ๊ฒ ๋ฐ๊พธ๊ธฐ
mv apache-hive-3.1.3์ hive-3.1.3์ผ๋ก ๋ฐ๊พธ๊ธฐ
cli = command line interface
ํค๋๋ฅผ ๋ณด์ฌ์ฃผ๋๊ฑฐ ๋ช ๋ น์ด ์ง์ ๋๋ฆฐ๊ฑฐ
ํ์ด๋ธ ์์ ๋ํ ๋ช ๋ นํ ์ธํฐํ์ด์ค๋ฉฐ ๊ธฐ๋ณธ ์๋น์ค
vi hive-env.sh ์์ ํ๊ธฐ
/HADOOP_HOMEํด์ N.. ์ฐพ์์ ์์ ํ๊ธฐ
hive-site.xml
18๋ฒ์งธ ์ค ~ 6923์งธ ์ค ๊น์ง ๋ชจ๋ ์ง์ฐ๊ณ ์๋ก ์ ๋ ฅ
์ด๋ ๊ฒ 4yy -> p ํด์ ์ ์ฒด ์์ ํ๊ธฐ!
ํ์ด๋ธ๋ ํ๋ก๊ณผ ๊ฐ์ด xml ์ค์ ํ์ผ์ ์ฌ์ฉํ์ฌ ํ๊ฒฝ์ค์ ์ ํ๋ค.
hive-site.xml์ด๊ณ ํ์ด๋ธ์ conf์ ํ์ผ์ ์์นํ๋ค.
hive-site.xml์ ํด๋ฌ์คํฐ ์ฐ๊ฒฐ์ ์ํ ์ธ๋ถ์ฌํญ์ ์ ์ํ ํ์ผ
ํด๋ฌ์คํฐ : ์ฌ๋ฌ ๋์ ์ปดํจํฐ๋ค์ด ์ฐ๊ฒฐ๋์ด ํ๋์ ์์คํ ์ฒ๋ผ ๋์ํ๋ ์ปดํจํฐ๋ค์ ์งํฉ
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.29
๋งํฌ ์ฃผ์ ๋ณต์ฌ
๋ฃจํธ ๊ณ์ ๋ค์ด๊ฐ๊ธฐ /tmp/gyuwon
schematool ์ด๊ธฐํ
./schematool -initSchema -dbType mysql ์ต์ด ํ๋ฒ๋ง ์คํํ๋ค.
ํ๋ก์ด ๊ฐ๊ณ ์๋ ๊ตฌ์๋ฐ์ ํ์ด๋ธ๊ฐ ๊ฐ๊ณ ์๋ ๊ตฌ์๋ฐ๊ฐ
๋ฒ์ ์ด ์๋ก ๋ค๋ฅด๋ค ๊ทธ๋์ ์๋ฌ๊ฐ ๋จ..
์ด๊ฑฐ ๋์ค๋ฉด ์ฑ๊ณต
hive ์คํํ๊ธฐ
slack ์์ ์ฃผ์ ์ฟผ๋ฆฌ ๋ถ์ฌ๋ฃ๊ธฐ
ํ์ผ ์ ์ฅํ๊ฑฐ ํ์ธํ๊ธฐ
show tables; ๋ก ํ์ธ
ALTER TABLE airline_delay DROP PARTITION(delayYear='2008');
๋ฐ์ดํฐ ๋ ๋ฆฌ๋ ๊ฒ.. ํ์ง๋ ๋ง ๊ฒ..
hdfs dfs -ls air-input ๋ฐ์ดํฐ ์ฌ์ฉ
hdfs dfs -ls air-input
hdfs dfs -ls /tmp/gyuwon
hdfs dfs -ls /tmp/hive
hdfs dfs -ls /user/hive/warehouse/airline_delay/delayyear=1999
hdfs dfs -ls air-input
load data inpath '/user/gyuwon/air-input/airOT199904.csv'
partition์ผ๋ก ๋ถ๋ฅํ๊ธฐ... ๊ณ์ ๋ถ๋ฅ~
2. HiveQL
โ ํ์ด๋ธ๋ HiveQL ์ด๋ผ๋ SQL๋ฌธ๊ณผ ๋งค์ฐ ์ ์ฌํ ์ธ์ด๋ฅผ ์ ๊ณต
โ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ SQL๊ณผ ์ ์ฌํ์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ฐจ์ด์ ์ด ์์
a. ํ์ด๋ธ์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๊ฐ HDFS์ ์ ์ฅ๋๋๋ฐ, HDFS๊ฐ ํ ๋ฒ ์ ์ฅํ ํ์ผ์ ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์ UPDATE์ DELETE๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
b. ๊ฐ์ ์ด์ ๋ก INSERT๋ ๋น์ด ์๋ ๋ฐ์ด๋ธ์ ์ ๋ ฅํ๊ฑฐ๋, ์ด๋ฏธ ์ ๋ ฅ๋ ๋ฐ์ดํฐ๋ฅผ overwrite ํ๋ ๊ฒฝ์ฐ๋ง ๊ฐ๋ฅํ๋ค. ๊ทธ๋์ ํ์ด๋ธ๋ INSERT OVERWRITE ๋ผ๋ ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
c. SQL์ ์ด๋ ํ ์ ์์๋ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง HIveQL ์ FROM ์ ์์๋ง ์๋ธ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
d. SQL์ ๋ทฐ๋ ์ ๋ฐ์ดํธํ ์ ์๊ณ , ๊ตฌ์ฒดํ๋ ๋ทฐ ๋๋ ์ธ๋ผ์ธ ๋ทฐ๋ฅผ ์ง์ํ๋ค.
ํ์ง๋ง HiveQL์ ๋ทฐ๋ ์ฝ๊ธฐ ์ ์ฉ์ด๋ฉฐ ์ธ๋ผ์ธ ๋ทฐ๋ ์ง์ํ์ง ์๋๋ค.
e. SELECT ๋ฌธ์ ์ฌ์ฉํ ๋ HAVING ์ ์ ์ฌ์ฉํ ์ ์๋ค.f. ์ ์ฅ ํ๋ก์์ ๋ฅผ ์ง์ํ์ง ์๋๋ค.
๋์ ๋งต๋ฆฌ๋์ค ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์๋ค.
#1
#2
#3
#4
#5
#6
#7
๋๊ธ