Hive Metastore에서 get_table RPC 복원 과정
Hive는 잊으려 했지만, Spark는 기억하고 있었다: 사라진 get_table RPC 복원기
네이버의 Hadoop 플랫폼 C3에서 Hive Metastore를 Apache Hive 4.2 기반으로 업그레이드하는 과정에서 Spark 잡이 'Invalid method name: 'get_table'' 오류로 실패하는 현상이 발생했다. 이 문제는 Thrift RPC의 메서드 이름 기반 디스패치 방식과 Hive와 Spark 간의 버전 호환성 문제로 인해 발생했으며, 이를 해결하기 위해 get_table RPC를 복원하는 과정을 다루고 있다. 코드 변경은 IDL 두 줄과 서버 구현 몇 줄로 이루어졌지만, Thrift RPC의 동작 방식 이해가 중요하다.
HMS의 메타데이터 요청 처리에서 Thrift RPC의 메서드 이름이 중요하며, Spark와의 호환성을 유지하기 위해 get_table RPC의 복원이 필요하다.
원문 출처
네이버 D2