Hive metastore는 Apache Hive의 메타데이터 관리 시스템인데요, 하지만 Hive 메타데이터에 의존하는 다른 데이터 처리 프레임워크와 도구도 사용할 수 있습니다. 그래서 hive를 엔진으로 쓰지는 않아도, 내가 쓰는 도구가 써서 hive metastore를 써야하는 경우가 많습니다.
하이브 메타스토어를 사용하는 데이터 처리 프레임워크는 Impala, Apache Spark, Presto, Apache Flink, Apache NiFi가 있습니다. AWS Glue catalog를 hive metastore로도 사용할 수 있습니다. 여기서 적지는 않았지만 더 많이 있을 겁니다.
hive에는 외부 테이블이라는 개념이 있는데, 외부 테이블(External Table)은 이미 하둡/저장소에 있는 데이터를 기반으로 테이블을 만들기 때문에 스키마만 정해주면 됩니다. 그래서 파일 따로, 스키마 따로 관리하기 좋습니다. 그럴 일이 있어서는 안되겠지만 누군가 테이블을 날려버려도 데이터는 안전합니다.
주의) hive에서는 delete, update을 기대하면 안됩니다. crud가 가능한 Lake house architecture는 delta를 찾아봅시다.
이전에 hive 테이블 생성과 파티션을 다뤘던 글을 공유합니다.
Hive Table 다루기: https://moons08.github.io/programming/Hive_Table/
Hive Partition 다루기: https://moons08.github.io/programming/Hive_Partition/