[HADOOP] 하이브 COUNT (*) 쿼리가 호출되지 맵리 듀스
HADOOP하이브 COUNT (*) 쿼리가 호출되지 맵리 듀스
나는 하이브 외부 테이블, 나는 TABLE_NAME 쿼리에서 SELECT COUNT (*)를 실행하려고하고 있지만 쿼리는 즉시 반환하고 이미 저장된 생각입니다 결과를 제공합니다. 쿼리에서 반환 된 결과가 올바르지 않습니다. 작업을 줄일지도를 강제로 쿼리 할 때마다 실행 할 수있는 방법이 있나요.
참고 :이 동작은 모든 외부 테이블하지만 그들 중 일부를 따르지.
사용 버전 : 하이브 0.14.0.2.2.6.0-2800, 하둡 2.6.0.2.2.6.0-2800 (호튼 웍스)
해결법
-
==============================
1.일부 발견 후 나는 오크 테이블에 레코드 수를 카운트 MR 개막하는 방법을 가지고있다.
일부 발견 후 나는 오크 테이블에 레코드 수를 카운트 MR 개막하는 방법을 가지고있다.
'테이블 이름'파티션 ( '파티션 열')를 계산 통계 도표를 분석; --또는 TABLE '테이블 이름'계산 통계를 분석;
이 카운트 (*)에 대한 직접적인 대안이 아니라 테이블의 레코드 최신 수를 제공합니다.
-
==============================
2.데이터가 암호화되어 있기 때문에 ORC 데이터에 화장실 -l을 수행하면, 당신에게 정확한 결과를 제공하지 않습니다. 데이터가 한 줄에 하나의 행과 간단한 텍스트 파일 형식으로 저장 한 경우에 작동합니다.
데이터가 암호화되어 있기 때문에 ORC 데이터에 화장실 -l을 수행하면, 당신에게 정확한 결과를 제공하지 않습니다. 데이터가 한 줄에 하나의 행과 간단한 텍스트 파일 형식으로 저장 한 경우에 작동합니다.
그것은 총 수를 결정하기 위해 ORC 메타 데이터를 사용할 수 있기 때문에 하이브는 ORC 파일의 수 (*)의 맵리 듀스를 시작할 필요가 없습니다.
명령 줄에서 ORC 데이터를 분석하는 orcfiledump 명령을 사용하여
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ORC#LanguageManualORC-ORCFileDumpUtility
-
==============================
3.그것은 첫 번째 데이터 파일에서만 행의 수를 반환 즉 - 개인적인 경험에서, 오크 테이블에 COUNT (*)는 일반적으로 잘못된 수치를 반환합니다. 테이블이 여러 INSERT들에 의해 공급 된 경우에 당신은 붙어 있습니다.
그것은 첫 번째 데이터 파일에서만 행의 수를 반환 즉 - 개인적인 경험에서, 오크 테이블에 COUNT (*)는 일반적으로 잘못된 수치를 반환합니다. 테이블이 여러 INSERT들에 의해 공급 된 경우에 당신은 붙어 있습니다.
V0.13하면 절에 "1 = 1"더미 추가하여 더미 M / R 작업을 실행에 최적화를 속일 수 - 훨씬 더 오래 걸립니다,하지만 실제로 행을 계산합니다.
0.14 최적화 똑똑 가지고, 당신은 예를 들어, 비 결정적 절을 추가해야합니다 "어디에있는 MyKey는 null입니다." 또 다른 추한 ORC 버그 -,있는 MyKey가 문자열이라고 가정하면, 그렇지 않으면 절 쿼리를 충돌 할 수 있습니다 "널 (null)입니다."
그런데, 파티션 키 (들)에 SELECT DISTINCT는 잘못된 결과를 반환합니다 - 기존의 모든 파티션이 표시됩니다, 심지어 빈 것들. 이 시간 ORC에 해당하지 않습니다.
-
==============================
4.아래 시도하십시오 :
아래 시도하십시오 :
맵리 듀스를 의무화하도록 하이브 세션에서 하이브> 설정 hive.fetch.task.conversion = 당신의 하이브 세션 없음 다음 선택 카운트를 트리거 (*) 작업
from https://stackoverflow.com/questions/31671249/hive-count-query-is-not-invoking-mapreduce by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하둡은 의사 모드에서 작동하지 않습니다 최대 동시 맵리 듀스 작업을 설정 (0) | 2019.09.27 |
---|---|
[HADOOP] HBase를 스캔 작업 캐싱 (0) | 2019.09.27 |
[HADOOP] 하이브에서 테이블 및 열 검색 (0) | 2019.09.27 |
[HADOOP] 타임 스탬프에 따라 하이브에서 HBase를 테이블 데이터에 액세스 (0) | 2019.09.27 |
[HADOOP] 하둡 신비 파일 및 전체 디스크를 만들 (0) | 2019.09.27 |