하이브 처리중 다음과 같은 오류가 발생할 때가 있다.
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation '='
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:479)
at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executePreparedQuery(AbstractQueryProtocol.java:592)
at org.mariadb.jdbc.MariaDbServerPreparedStatement.executeInternal(MariaDbServerPreparedStatement.java:279)
... 37 more
이는 where 절에 비교구문(=)에 사용하는 칼럼의 인코딩 타입이 달라서 그렇다.
hvie 에서는 비교에 사용되는 문자가 깨져서 발생한다.
where 조건절에 사용되는 칼럼에 깨진 문자가 없는지 확인하면 된다.
반응형
'빅데이터 > hive' 카테고리의 다른 글
[hive] 하이브 테이블에 struct 같은 복합 데이터 load 하는 법 (0) | 2017.04.12 |
---|---|
[hive] UDTF 예제 (0) | 2017.04.12 |
[hive] 하이브의 처리 결과에 칼럼정보 출력 or 추가 (0) | 2017.04.06 |
[hive] 쿼리를 이용하여 파일시스템에 데이터를 쓰기(INSERT OVERWRITE DIRECTORY) (0) | 2017.04.06 |
[hive] 문자열을 맵으로 변화하기 위한 str_to_map() 함수 (0) | 2017.04.05 |