Apache Hive (아파치 하이브)
Apache Hive란 무엇입니까?
Apache Hive는 광범위한 Hadoop 에코시스템에 속하는 Apache Hadoop Distributed File System(HDFS)에서 추출한 대용량 데이터세트를 읽고, 쓰고, 관리하도록 설계된 오픈 소스 데이터 웨어하우스 소프트웨어입니다.
Apache Hive는 광범위한 Apache Hive 문서 및 지속적 업데이트를 통해 쉽게 액세스할 수 있는 방식으로 계속해서 데이터 처리를 혁신합니다.
Apache Hive의 역사
Apache Hive는 Joydeep Sen Sarma와 Ashish Thusoo가 Facebook에 근무하던 시절에 함께 구상하고 만들어낸 오픈 소스 프로젝트입니다. Hive는 Apache 하둡의 하위 프로젝트로 시작했지만, 결과적으로는 그 자체로 최상위 프로젝트 지위를 얻게 되었습니다. 하둡과 MapReduce 작업은 제한이 점점 심해지고, 데이터 크기는 점점 커져 2006년에는 매일 몇십 GB 수준이었지만 겨우 몇 년 만에 일일 1TB에서 15TB로 늘어났습니다. Facebook 엔지니어로서는 복잡한 작업을 간편하게 실행할 수 없었고, 이 때문에 Hive가 탄생하게 된 것입니다.
Apache Hive는 두 가지 목표를 이루기 위해 고안되었습니다. 하나는 SQL 기반 선언 언어로서 SQL로는 부족할 때 엔지니어가 자체적으로 스크립트와 프로그램을 플러그인할 수 있게 허용하기도 하는 것인데, 이 때문에 엔지니어링 업계(SQL Skills 기반) 대부분이 다른 언어에 비해 극히 적은 수준의 타격이 발생하고 재교육도 별로 필요 없이 Hive를 사용할 수 있습니다.
둘째, Hive는 조직 내 모든 데이터 세트를 중앙 집중화한 메타데이터 스토어(하둡 기반)를 제공했습니다. Apache Hive는 처음에는 Facebook 내부에서 개발되었지만, Netflix와 같은 다른 기업에서도 사용하고 개발되고 있는 프로젝트입니다. Amazon에서도 Amazon Web Services의 Amazon Elastic MapReduce에서 Apache Hive 소프트웨어 분기를 유지관리하고 있습니다.
HIVE의 기능은 어떤 것이 있습니까
Apache Hive는 하둡의 HDFS는 물론 이와 호환되는 파일 시스템(예: Amazon S3, Azure Blob Storage, Azure Data Lake Storage, Google Cloud Storage 및 Alluxio 등)에 보관된 대규모 데이터 세트 분석을 지원합니다.
SQL과 유사한 쿼리 언어인 HiveQL를 제공하는데, 여기에 읽기 스키마(schema-on-read)가 포함되어 있어 쿼리를 Apache Spark, MapReduce, Apache Tez 작업으로 투명하게 변환합니다. 이외에 Hive의 다른 기능은 다음과 같습니다.
- Hive Data Functions는 대규모 데이터 세트의 처리와 쿼리에 도움을 제공합니다. 이런 함수가 제공하는 기능 중에는 문자열 조작, 날짜 조작, 타입 변환, 조건 연산자, 수학적 함수 등이 있으며 이외에도 여러 가지가 있습니다.
- 관계형 데이터베이스 관리 시스템 내의 메타데이터 스토리지입니다.
- Parquet, 일반 텍스트, RCFile, HBase, ORC 및 이외에도 다른 여러 가지 스토리지 유형이 있습니다.
- 알고리즘을 사용해 하둡 에코시스템에 저장된 압축 데이터 작업