Cannot validate serde 또는 ClassNotFoundException: org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe가 발생한다.
원본은 해결 통보만 있고 최종 변경은 없다. JAR 추가 안내 후에도 실패했던 기록이 있어 클래스의 실제 존재와 생성 문법을 함께 확인하는 절차로 보강했다.
설치된 Hive JAR의 실제 클래스 경로를 확인해 DDL을 맞추고 필요하면 동일 parcel의 auxiliary JAR를 HS2에 배포한다.
확인 수준: 추가 조사 해법 · 해당 케이스 적용 결과 미확인
적용 조건: <...>와 예시 DB·테이블·경로·수치는 실제 확인값으로 바꾼다. 명령과 메뉴는 참고 문서를 바탕으로 보강한 예시이며 대상 시스템에서 실행하지 않았다. 버전·원인에 따른 분기와 남은 확인 사항은 아래에 명시한다.
jar tf '<matching-hive-contrib.jar>' | grep 'MultiDelimitSerDe.class'
jar tf '<matching-hive-serde.jar>' | grep 'MultiDelimitSerDe.class'
CREATE EXTERNAL TABLE db.multidelim_test(id STRING, payload STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
WITH SERDEPROPERTIES ('field.delim'='^|^')
STORED AS TEXTFILE LOCATION 'hdfs:///test/multidelim';
org/apache/hadoop/hive/serde2/MultiDelimitSerDe.class를 포함한다면 DDL의 클래스명을 그 경로로 바꾼다. 서로 다른 Hive 버전 JAR를 추가하지 않는다.Beeline으로 DDL이 성공하고 구분자가 포함된 실제 샘플이 기대 컬럼으로 나뉘는지 확인한다.