익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
아파치 하이브 파티션
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
고급
특수 문자
도움말
문단 제목
2단계
3단계
4단계
5단계
형식
넣기
라틴 문자
확장 라틴 문자
IPA 문자
기호
그리스 문자
그리스어 확장
키릴 문자
아랍 문자
아랍어 확장
히브리 문자
뱅골어
타밀어
텔루구어 문자
싱할라 문자
데바나가리어
구자라트 문자
태국어
라오어
크메르어
캐나다 원주민 언어
룬 문자
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
서식 지정
링크
문단 제목
목록
파일
각주
토론
설명
입력하는 내용
문서에 나오는 결과
기울임꼴
''기울인 글씨''
기울인 글씨
굵게
'''굵은 글씨'''
굵은 글씨
굵고 기울인 글씨
'''''굵고 기울인 글씨'''''
굵고 기울인 글씨
Apache Hive의 파티션(Partition)은 테이블을 특정 컬럼 값을 기준으로 나누어 저장하는 기능으로, 대규모 데이터를 효율적으로 관리하고 쿼리 성능을 최적화하는 데 사용된다. ==개요== Hive에서 파티션은 테이블의 데이터를 특정 기준(예: 날짜, 지역 등)으로 구분하여 HDFS 디렉터리 구조로 저장하는 방식이다. 이를 통해 특정 파티션만 검색하여 성능을 향상시킬 수 있다. *'''파티션 키(Partition Key)''' - 데이터를 분할하는 기준이 되는 컬럼. *'''파티션 디렉터리''' - HDFS 내에서 파티션 값별로 데이터가 저장되는 디렉터리. ==파티션 테이블 생성== Hive에서 파티션을 사용하려면, 테이블을 생성할 때 '''PARTITIONED BY''' 절을 사용하여 지정해야 한다. ===단일 컬럼 파티션=== <syntaxhighlight lang="sql"> CREATE TABLE sales ( order_id INT, amount DOUBLE ) PARTITIONED BY (year INT) STORED AS PARQUET; </syntaxhighlight> *'''year''' 컬럼을 기준으로 데이터를 파티션별로 저장. *데이터는 HDFS에 다음과 같은 구조로 저장됨. <syntaxhighlight lang="plaintext"> /user/hive/warehouse/sales/ ├── year=2022/ │ ├── part-0000.snappy.parquet │ ├── part-0001.snappy.parquet │ ├── year=2023/ │ ├── part-0000.snappy.parquet │ ├── part-0001.snappy.parquet </syntaxhighlight> ===다중 컬럼 파티션=== <syntaxhighlight lang="sql"> CREATE TABLE sales_data ( order_id INT, amount DOUBLE ) PARTITIONED BY (year INT, month STRING) STORED AS ORC; </syntaxhighlight> *데이터는 HDFS에 다음과 같은 디렉터리 구조로 저장됨. <syntaxhighlight lang="plaintext"> /user/hive/warehouse/sales_data/ ├── year=2022/ │ ├── month=01/ │ │ ├── part-0000.orc │ │ ├── part-0001.orc │ ├── month=02/ │ │ ├── part-0000.orc │ │ ├── part-0001.orc │ ├── year=2023/ │ ├── month=01/ │ │ ├── part-0000.orc │ │ ├── part-0001.orc </syntaxhighlight> ==파티션 추가 및 데이터 삽입== Hive에서는 파티션을 명시적으로 추가해야 하며, 데이터를 삽입할 때 해당 파티션 값을 지정해야 한다. ===파티션 추가=== <syntaxhighlight lang="sql"> ALTER TABLE sales ADD PARTITION (year=2023) LOCATION '/data/sales/2023'; </syntaxhighlight> ===파티션에 데이터 삽입=== <syntaxhighlight lang="sql"> INSERT INTO TABLE sales PARTITION (year=2023) VALUES (1, 100.50); </syntaxhighlight> ==동적 파티션(Dynamic Partition)== Hive에서는 정적인 파티션(Static Partition) 외에도 '''동적 파티션(Dynamic Partition)'''을 지원한다. 이는 여러 개의 파티션을 한 번의 INSERT 쿼리로 생성할 때 사용된다. ===동적 파티션 활성화=== <syntaxhighlight lang="sql"> SET hive.exec.dynamic.partition = true; SET hive.exec.dynamic.partition.mode = nonstrict; </syntaxhighlight> ===동적 파티션 삽입=== <syntaxhighlight lang="sql"> INSERT INTO TABLE sales_data PARTITION (year, month) SELECT order_id, amount, year, month FROM raw_sales; </syntaxhighlight> *기존 테이블(raw_sales)에서 데이터를 읽어 자동으로 파티션을 생성하여 삽입. ==파티션 데이터 조회== 파티션을 사용하면 특정 데이터를 빠르게 조회할 수 있다.<syntaxhighlight lang="sql"> SELECT * FROM sales WHERE year = 2023; </syntaxhighlight> *Hive는 '''파티션 프루닝(Partition Pruning)'''을 수행하여 '''year=2023''' 파티션만 검색하여 성능을 향상시킴. ==파티션 삭제== 특정 파티션을 삭제할 수도 있다.<syntaxhighlight lang="sql"> ALTER TABLE sales DROP PARTITION (year=2023); </syntaxhighlight> *해당 파티션에 있는 데이터도 함께 삭제됨. ==파티션의 장점 및 단점== ===장점=== *특정 파티션만 검색하여 쿼리 속도를 향상시킴. *HDFS에서 데이터를 논리적으로 분리하여 관리 가능. *대용량 데이터셋을 효과적으로 분할하여 저장. ===단점=== *너무 많은 파티션을 생성하면 메타데이터 관리 부담 증가. *작은 파일이 많아지면 HDFS의 성능 저하 가능. *동적 파티션 사용 시 삽입 성능 저하 가능. ==같이 보기== *[[아파치 하이브]] *[[아파치 하이브 테이블]] *[[아파치 하둡]] *[[SQL]] [[분류:분산 컴퓨팅]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록