morebo2ks / hadoop

5 stars 0 forks source link

6주차 hadoop 스터디 #8

Closed KilJaeeun closed 2 years ago

KilJaeeun commented 2 years ago

파트

jasonkang14 commented 2 years ago

처음으로 주말에 미리 해봤습니다! https://www.notion.so/byeongjinkang/Hive-MySQL-b28f717314d342228aa26c58f4d0edf0

지난주에 말씀 드린 것처럼 참석이 어려울 것 같은데 혹시 일찍 끝난다면 폰으로라로 들어가보겠습니다~

hyunju-song commented 2 years ago

이번주 스터디 자료 입니다! 드디어 hive 군요

https://hazel-developer.tistory.com/286

wookiist commented 2 years ago

이번주 스터디 자료입니다!!

KilJaeeun commented 2 years ago

https://historical-peridot-32d.notion.site/5-hadoop-sqoop-9f07808ee93847389c28f7d2e50cbdbd

JSYoo5B commented 2 years ago

유재상 스터디 로그

Hive

Hadoop 위에서 SQL 쿼리를 동작시킬 수 있게 해줌.

기존 Pig가 SQL같은 기능을 제공하는 스크립트 언어라면, Hive는 완전 SQL문을 사용할 수 있다는 것이 특징 결국 이전에 배웠던 다른 도구들처럼 내부적으로는 MR이나 Tez 명령으로 번역하여 동작함.

장점

단점

HiveQL

MySQL과 비슷한데 일부 확장 기능이 포함됨 ex. VIEW: 질의문 중간 결과를 저장하기 위한 임시 테이블

데이터의 구조화 및 파티션화 가능

실습

CREATE VIEW ... AS ... 을 통해 중간 결과 테이블 생성하는 실험 이후 중간 테이블 삭제는 DROP VIEW ... 으로 수행

내부 동작 원리

전통적인 DB는 Schema on Write개념을 사용하는데, Hive는 Schema on Read 개념을 적용함.

Schema on Write: 먼저 Schema를 정의하고, 그 구조에 따라 데이터를 디스크에 작성 Schema on Read: 구조화 되지 않은 데이터를 어떤 방식으로 읽을 지, 그 순간에 정의된 Schema를 바탕으로 결정

데이터 저장은 내부(Managed), 외부(External)로 구분됨

내부 데이터

실제 Hive 내부에서 보관하고 있는 데이터, DROP시 실제 삭제됨

외부 데이터

원본은 외부에 있으며, 읽어올 때 어떻게 읽어올 지 알아야 함 (CREATE EXTERNAL TABLE ... 등으로 정의) 데이터 해석은 Hive가 하지만, 그 저장은 외부에 존재함

파티션

데이터를 파티셔닝 해서 질의 시 조건을 줄여 데이터의 개수를 최적화

기타 실습

AVG, COUNT 등을 활용한 결과를 중간 VIEW로 테이블 생성, JOIN으로 결과 반환

sqoop를 활용해 mysql과 hive 연동 실험