나는 두 개의 하이브 테이블을 가지고있다.
레코드 수 (함께 aprox) : 5,779,062,484
두 테이블이 3 키가 : LOC_ID (INT), ITEM_ID (INT), week_detail (문자열)
내가 가입하고 (내부 조인) 위의 키를 기준으로 두 테이블 및 결과 데이터의 크기가 같습니다. 예 : 5779062484
참여할 전체 시간은 aprox입니다. 3 시간.
나는 테이블을 버킷으로 묶고 성능을 향상시키기 위해 결합하려고합니다.
버킷의 개수 및 버킷을 사용해야하는 열 수는 얼마나됩니까?
내부 조인을 기준으로 두 테이블의 데이터 만 직접 선택합니다.
성능 향상을 위해 클러스터의 특정 설정을 사용할 수 있습니까? 명심해야 할하이브 테이블의 버킷 수를 결정 하시겠습니까?
-1
A
답변
1
몇 가지 (내 자신의 경험을 바탕으로) :
- 은 (최신 DIST에 128메가바이트) 소형의 HDP 블록 크기보다 바람직하게는 더 큰에 버킷을하지 마십시오.
- 즉, item_id가 1-1000 범위에 있고 크기가 5MB 이상인 1000 개의 버킷을 가질 수 있습니다. 이는 "hdp 작은 파일 문제"에 추가되므로 바람직하지 않습니다. (요약하면, hdfs에 작은 파일이 많을 때 namenode는 큰 부담이 될 것입니다.)
- 약 40 개의 버킷이 있어야합니다.
- 기본 키를 모두 기반으로 버킷을 선택할 수도 있지만 키 하나만을 기준으로 효율/속도가 향상되는지 여부는 알 수 없습니다. 어쩌면 당신은 그것을 시험해 볼 수 있습니다. 매우 결과에 관심이 있습니다. 나는 당신이 모든 키 (버킷 ~ 40 개)를 버킷으로 묶어서 가장 빠른 속도 향상을 얻을 것이라고 생각하지만 이것은 이론적 인 추측에 불과합니다.
- 설정을 위해 Tez을 켭니다. 이 내 옵션 (또는이 클러스터에 따라/노드 크기의 다수)입니다 hive.tez.container.size = 10240 --hiveconf hive.tez.java.opts = -Xmx8192m (!) 참고가
: 나는 것 일반적으로 대부분의 Hive 작업에 Spark SQL을 사용하지만 Spark은 현재 버전에서 버킷 또는 트랜잭션 테이블을 지원하지 않습니다.
관련 문제
- 1. 버킷 테이블의 하이브 쿼리가 느립니다.
- 2. 하이브 테이블의 분할 및 버킷 화의 이점은 무엇입니까?
- 3. PDO : rowCount가있는 데이터베이스의 테이블 수를 결정 하시겠습니까?
- 4. 하이브 정렬 병합 버킷 결합
- 5. 테이블의 레코드 수를 인쇄 하시겠습니까?
- 6. SQL 버킷 나이 그룹 결정
- 7. 하이브의 버킷 결합을위한 #Buckets 결정
- 8. 플렉스 자식 수를 기준으로 레이아웃을 결정 하시겠습니까?
- 9. 하이브 테이블의 특정 버킷을 삭제할 수 있습니까?
- 10. 많은 테이블의 하이브 메타 데이터 위치 업데이트
- 11. 하이브 테이블의 특정 행보다 적은 행 수를 계산하는 방법은 무엇입니까?
- 12. 저장된 하이브 테이블의
- 13. 하이브 테이블의 데이터 전치
- 14. 하이브 테이블의 레코드 업데이트
- 15. 하이브 테이블의 스키마 변경
- 16. 수를 계산하는 방법. 데이터베이스 테이블의 행 수를 TextView에 표시 하시겠습니까?
- 17. 하이브 외부 테이블의 행 삭제
- 18. 어쨌든 양식을 채울 때 itextsharp pdfField의 줄 수를 결정 하시겠습니까?
- 19. 멋진 번호를 결정 하시겠습니까?
- 20. 버킷 인덱스 버킷 정렬
- 21. Minix : 프로세스 테이블의 크기 결정
- 22. Drools 의사 결정 테이블의 흐름
- 23. 해당 항목의 수를 기준으로 값을 결정
- 24. 데이터베이스 테이블의 행 수를
- 25. 테이블의 행 수를 얻으십시오.
- 26. 테이블의 행 수를 얻으십시오.
- 27. 테이블의 행 수를 계산하십시오.
- 28. 현재 HINSTANCE를 결정 하시겠습니까?
- 29. PAGE_OFFSET의 값을 결정 하시겠습니까?
- 30. 레포 크기를 결정 하시겠습니까?
두 개의 테이블에 대한 내 조인은 32 개의 버킷으로 최적화되었지만이 두 테이블의 로딩 시간은 삽입시 32 개의 축소 기가 추가되어 증가했습니다. 어떤 방법이나 설정도 최적화 할 수 있습니까? –
이경 소켓, 스레드 및 병렬 실행에 대한 자세한 내용은 여기를 참조하십시오. https://community.hortonworks.com/articles/22419/hive-on-tez-performance-tuning-determining-reducer.html – bigdatadev