8P by yechoi 3달전 | favorite | 댓글과 토론
  • 라인 데이터 플랫폼 실, Hive 사용을 점진적으로 중단하고 Spark 환경으로 이전한다는 방향을 설정
  • 이전 방법 - 엔진 교체 후 문제가 있는 경우 쿼리 변경
  • 쿼리 변경 사례:
    • 임시 테이블을 사용한 경우(CREATE TEMPORARY TABLE)
    • ANSI 정책을 위반하는 묵시적 형 변환을 사용한 경우(Store Assignment Policy)
    • 사용하던 UDF에 문제가 있는 경우
    • 새로운 UDF를 도입한 경우
    • 맵 타입에 집합 연산을 사용한 경우
    • 여러 개의 파티션을 삭제해야 하는 경우
  • 이전 후 특정 데이터 누락되어 트러블 슈팅 진행
  • 다섯 가지 문제 현상 및 대응 방법:
    • 쿼리 실행 후 일부 결과 누락 현상
    • 파티션 디렉터리 밑에 서브 디렉터리가 존재할 때 데이터를 읽을 수 없는 현상
    • 잡이 실행될 때 파티션 디렉터리를 삭제해서 해당 파티션을 이용하는 쿼리가 실패하는 현상
    • 한 파티션에서 데이터를 읽어 같은 테이블의 다른 파티션에 쓸 때 AnaylsisException("Cannot overwrite a path that is also being read from") 발생
    • 결과가 중복돼 두 배로 적재되는 현상
  • 오픈챗 외에도 현재 담당하고 있는 여러 도메인의 수백 개에 달하는 모든 쿼리를 연내 전부 Spark로 이전할 계획