하이브의 세가지 조인 방식에 대해서 알아보겠습니다. 셔플조인 매퍼에서 각 테이블을 읽고 셔플 단계에서 조인되는 키를 기준으로 파티션닝후 셔플을 진행하여 각 리듀서에서 조인을 수행 어떤형태의 데이터 크기와 구성에도 사용 가능 가장 자원을 많이 사용하고 느린 조인 방식 맵조인 (브로드캐스트 조인, 맵사이드 조인) 작은 사이즈의 테이블이 메모리에 올라가고, 각 매퍼에서 조인을 수행후 결과를 반환하는 방식 가장 큰 테이블에서 가장 빠른 단일 스캔 작은 테이블은 메모리에 들어갈 정도로 작아야 함 -- 맵조인 사용여부 설정, 3개 이상의 테이블을 조인할 때 맵조인 사용여부 설정하는 옵션 hive> set hive.auto.convert.join=true; hive> set hive.auto.convert.join...
- 랜덤 액세스 위주의 조인 - 한레코드씩 순차적으로 진행 - 테이블의 크기가 작을수록 좋음 - 온라인 프로그램에서 사용할 때 좋음 - Driving 테이블의 크기가 가장 많은 영향을 준다. - 조인하기전에 정렬 - 넓은 데이터 처리에 유리함 - 정렬에 필요한 데이터가 많아지면 메모리대신 디스크를 사용하므로 성능이 떨어질 수 있음 - 조인 조건의 인덱스 유무에 영향을 받지 않지만 Sort 가 필요하다. - 한쪽 테이블의 크기가 작을수록 좋음 - NL의 랜덤액세스, SMJ의 정렬작업에 대한 부담으로 등장 - 인덱스를 사용하지 않음, 인덱스 대신 Hash 함수를 사용 - 동등조인(=) 에서만 사용 - 수행 빈도가 높은 OLTP성 작업에서는 불리함 - 수행 빈도가 낮고, 쿼리 수행시간이 오래 걸리는, 대용량 ..
조인 두 개 이상의 테이블을 연결하여 데이터를 조회하는 것 - 등가 조인: 테이블간에 동일한 조건을 이용하여 처리, = 연산자 사용 - 비등가 조인: 테이블간에 동일하지 않은 조건을 이용하여 처리, between, 등의 연산자를 이용하여 처리 - 아웃 조인: 조인 조건을 만족하지 않는 경우에도 결과를 봐야 하는 경우 사용 - 셀프 조인: 자기자신의 정보를 이용하여 조인 처리 카테시안 프로덕트(Cartesian Product) 조인 조건을 생략하거나, 잘 못 설정하여 테이블 간의 모든 데이터가 연결되는 것 SET 연산자 조인을 사용하지 않고 두 개 이상의 테이블의 연관된 데이터를 조회해 오는 방법 - UNION: 테이블 간의 합집합, 중복데이터 제거, 자동으로 정렬 작업 처리 - UNION ALL: 테이블..
- Total
- Today
- Yesterday
- SPARK
- build
- HDFS
- S3
- AWS
- ubuntu
- error
- hbase
- SQL
- 파이썬
- 오류
- java
- mysql
- Tez
- Linux
- Python
- nodejs
- HIVE
- 정올
- bash
- 백준
- emr
- Hadoop
- airflow
- oozie
- yarn
- 알고리즘
- 하둡
- 다이나믹
- 하이브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |