스키마를 디자인 할 때 인터뷰에서 질문에 직면했습니다. 하지만 의심의 여지가 하이브에있는 스키마를 설계하는 동안, 우리는 정규화 과정을 따르거나 필요하지 않습니다 ?? 제발 이해 도와주세요하이브의 스키마 정규화
0
A
답변
1
하이브로 데이터를 비정규 화하는 것이 좋습니다.
조인에는 감속기가 필요하며 데이터가 셔플 단계에서 정렬되었음을 의미합니다. 조인 된 테이블에서 필드를 필터링해야하는 경우 하나의 맵, 하나의 임의 재생, 하나의 축소 (조인의 경우) 및 필터의 다른 맵이 필요합니다. (하나 하나하지 않는 한 표는 매퍼 메모리에 들어갈만큼 작은 - 기본적으로 10M 바이트)
지도 (읽기) -> 임의 재생 (종류) -> 감소 (가입) ->지도 (필터) -> 축소 (쓰기)
비정규 화 테이블에있는 필드의 필터링은 맵 스테이지에서 수행됩니다.
지도 (+ 필터를 읽기) -> 임의 재생 (종류) -> 감소 (쓰기)
당신은 몇 가지를 sotre 고급 스토리지 포맷 (ORCfile, 마루, ...)을 사용하여 더 나은 성능을 얻을 수 있습니다 필터 단계에서 블록을 건너 뛸 수 있도록 데이터와 메타 데이터는, 그 대답은 당신이지도-감소 하이브 엔진을 사용하는 경우에만 유효합니다
(술어 저장 층을 아래로 누릅니다). Hive (Tez, Spark, ...) 또는 다른 SQL-in-Hadoop 소프트웨어 (Impal, Drill, ...)에 다른 엔진을 사용하면 다른 동작을 볼 수 있습니다.
조인에 대한 자세한 내용은 Hive manual page
입니다.관련 문제
- 1. 하이브의 LeaseExpiredException
- 2. URL을 정규화/정규화 하시겠습니까?
- 3. 다른 네임 스페이스의 정규화 된 특성을 허용하는 XML 스키마 작성
- 4. 하이브의 배열 배열
- 5. 하이브의 문자열 변환
- 6. 하이브의 분산 절
- 7. 하이브의 배열 리터럴
- 8. 하이브의 피벗 테이블
- 9. 하이브의 오프셋 기능
- 10. 하이브의 영숫자 데이터 유형
- 11. 하이브의 날짜 유형 변환
- 12. SSD로 하이브의 성능 향상
- 13. 하이브의 NULL 값 처리
- 14. 하이브의 순위 재설정
- 15. 하이브의 고유 한 열
- 16. 하이브의 재귀 쿼리
- 17. 하이브의 범위 파티셔닝
- 18. 변환 할 하이브의 문자열
- 19. 하이브의 불평등 조인
- 20. 하이브의 하위 쿼리
- 21. 하이브의 인덱스와 파티션
- 22. 하이브의 텍스트 비교
- 23. 하이브의 필드 정렬
- 24. 하이브의 통계 모드 계산
- 25. 하이브의 문에서 업데이트
- 26. ARRAY_CONTAINS 하이브의 다중 값
- 27. 하이브의 업데이트 문
- 28. 레지스트리와 레지스트리 하이브의 차이점
- 29. 하이브의 가입 순서
- 30. 하이브의 열에 프로젝트 배열