[HADOOP] 다른 그룹에 데이터 유형에서 비교를 수행 할 때 어떻게 잠재적 인 데이터 손실을 처리하기 위해
HADOOP다른 그룹에 데이터 유형에서 비교를 수행 할 때 어떻게 잠재적 인 데이터 손실을 처리하기 위해
배경: 우리 그룹은 6.1.1에 클라우 데라 업그레이드를 겪고 난 데이터 형식에서 암시 적 데이터 형식 변환의 손실을 처리하는 방법을 결정하는 임무가 주어왔다. 관련 릴리즈 노트 자세한 내용은 아래 링크를 참조하십시오.
https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_611_incompatible_changes.html#hive_union_all_returns_incorrect_data
뿐만 아니라이 문제는 UNION 모든 쿼리에 영향을 미치지 만 다른 데이터 유형 (즉, 문자열 BIGINT하는)의 열을 비교를 수행하는 기능이있다 않습니다.
이 그룹은 우리가 기본 테이블의 메타 데이터를 변경하지 않는 것을 결정했다. 그래서 솔루션은 데이터를 캐스팅하기 위해 CAST () 함수를 사용하여 잠재적 인 데이터 손실을 허용하는 것입니다. UNION ALL의 경우, 우리는 대상 테이블의 메타 데이터에 캐스팅. 비교를 수행 할 때, 나는 잘못된 결과를받지 않고 비교를 수행 할 수있는 간단하고 쉬운 방법을 결정하기 위해 노력하고 있습니다.
질문:
단순히 STRING 또는 VARCHAR ()가 비교를 수행 중 하나에 이르기까지 모든 캐스팅 할 수 있습니까? 잘못된 결과를 만들 수있는 잠재적 인 문제가 있습니까?
최신 정보: 이 방법에 문제가있는 경우,이 처리하는 올바른 해결책이 무엇입니까?
참고 :이 하둡 / HIVE 작업을 처음 참여하고 내가 RDBMS의 땅에서 내가 아는 모든 것을 항상 적용되지 않는다는 것을 배웠습니다.
해결법
-
==============================
1.당신은 문제가있는 것 또한 가능하다. 예를 들어, 다음 INT, 문자열을 경우 비교 :
당신은 문제가있는 것 또한 가능하다. 예를 들어, 다음 INT, 문자열을 경우 비교 :
그러나 문자열로 :
당신은 날짜와 유사한 문제를 얻을 수있다, 나는 생각한다.
from https://stackoverflow.com/questions/58227352/how-to-handle-potential-data-loss-when-performing-comparisons-across-data-types by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 파이썬 제출 오류 스파크 : 파일이 존재하지 않습니다 pyspark.zip를 (0) | 2019.10.19 |
---|---|
[HADOOP] 왜 RackAareness의 클래스를 찾을 하둡 수없는 이유는 무엇입니까? (0) | 2019.10.19 |
[HADOOP] 파티션 열 이름이 정확하지 않은 경우 하이브는 모든 파티션을 삭제 (0) | 2019.10.19 |
[HADOOP] 감속기이 완료되면 매퍼 전화 (0) | 2019.10.19 |
[HADOOP] 감속기에서 여러 테이블에 출력 쓰기 (0) | 2019.10.19 |