문제

최근에 출시된 (http://mirror.facebook.com/facebook/hive/hadoop-0.17/) Hive는 성능 측면에서 HBase와 비교됩니다.Hive에서 사용하는 SQL과 유사한 인터페이스는 우리가 구현한 HBase API보다 훨씬 더 좋습니다.

도움이 되었습니까?

해결책

Hive에 대해 많은 것을 찾기가 어렵지만 이것을 찾았습니다. 단편 HBase를 선호하는 Hive 사이트(굵게 추가됨):

Hive는 일괄 처리 시스템인 Hadoop을 기반으로 합니다.따라서 이 시스템은 그렇지 않습니다. 쿼리에 대한 낮은 지연 시간을 약속할 수 없습니다..여기서의 패러다임은 엄격하게 작업을 제출하고 실시간 쿼리와 달리 작업이 완료되면 알림을 받는 것입니다.결과적으로 훨씬 적은 양의 데이터에 대해 분석이 수행되지만 반복 간 응답 시간이 몇 분 미만으로 분석이 훨씬 더 반복적으로 진행되는 Oracle과 같은 시스템과 비교해서는 안됩니다. Hive 쿼리의 경우 가장 작은 작업에 대한 응답 시간은 5~10분 정도일 수 있으며 대규모 작업의 경우 몇 시간까지 걸릴 수도 있습니다.

HBase와 HyperTable은 모두 성능에 관한 것이므로(Google의 BigTable을 모델로 함) 기능을 희생하고 학습 곡선이 더 높다는 점에서(예: 조인이나 SQL이 없음) 확실히 Hive보다 훨씬 빠른 것처럼 들립니다. -같은 구문).

다른 팁

어떤 관점에서 보면 Hive는 다섯 가지 주요 구성 요소로 구성됩니다.SQL과 유사한 문법 및 파서, 쿼리 플래너, 쿼리 실행 엔진, 메타데이터 저장소 및 열 형식 스토리지 레이아웃입니다.주요 초점은 데이터 웨어하우스 스타일의 분석 워크로드이므로 키별로 짧은 대기 시간으로 값을 검색할 필요가 없습니다.

HBase에는 자체 메타데이터 저장소와 열 형식 스토리지 레이아웃이 있습니다.HBase 테이블을 통해 HiveQL 쿼리를 작성할 수 있으므로 HBase가 Hive의 문법과 파서, 쿼리 플래너 및 쿼리 실행 엔진을 활용할 수 있습니다.보다 http://wiki.apache.org/hadoop/Hive/HBaseIntegration 상세 사항은.

Hive는 분석 도구입니다.pig와 마찬가지로 맵 축소를 활용하여 잠재적으로 엄청난 양의 데이터를 임시 일괄 처리하도록 설계되었습니다.테라바이트를 생각해 보세요.관계형 데이터베이스에서 그런 일을 한다고 상상해 보세요...

HBase는 BigTable을 기반으로 하는 컬럼 기반 키 값 저장소입니다.HBase를 통해 맵 축소 작업을 실행할 수는 있지만 쿼리 자체를 수행할 수는 없습니다.주요 사용 사례는 키별로 행을 가져오거나 행 범위를 검색하는 것입니다.주요 기능은 열 '패밀리'에 대한 행 키 범위를 검색할 때 데이터 지역성을 가질 수 있다는 것입니다.

내가 아는 바로는 Hive가 Pig에 더 가깝습니다.Hive는 SQL과 유사하고 Pig는 스크립트 기반입니다.Hive는 쿼리 최적화 및 실행 엔진으로 인해 더 복잡한 것으로 보이며 최종 사용자가 스키마 매개변수(파티션 등)를 지정해야 합니다.둘 다 텍스트 파일 또는 시퀀스 파일을 처리하려고 합니다.

HBase는 키 값 데이터 저장 및 검색을 위한 것입니다. 해당 키 값 쌍(행)을 스캔하거나 필터링할 수 있습니다.(키, 값) 행에 대해서는 쿼리를 수행할 수 없습니다.

최신 Hive 릴리스에서는 다음과 같이 작은 업데이트가 필요한 많은 사항이 변경되었습니다. 이제 Hive와 HBase가 통합되었습니다..이것이 의미하는 바는 Hive를 HBase 데이터 저장소에 대한 쿼리 계층으로 사용할 수 있다는 것입니다.이제 사람들이 대체 HBase 인터페이스를 찾고 있다면 Pig는 정말 좋은 방법도 제공합니다. HBase 데이터 로드 및 저장.게다가, 그것은 다음과 같습니다 클라우데라 임팔라 HBase를 기반으로 상당한 성능의 Hive 기반 쿼리를 제공할 수 있습니다.기존 Hive 설정에 비해 쿼리 속도가 최대 45배 더 빠르다고 주장됩니다.

Hive와 HBase는 서로 다른 용도로 사용됩니다. 목적.

하이브:

장점:

  1. 아파치 하이브데이터 웨어하우스 인프라 위에 세워진 하둡.
  2. 저장된 데이터를 쿼리할 수 있습니다. HDFS 분석을 위해 HQL, SQL과 유사한 언어, 이는 일련의로 변환됩니다. 지도 축소 작업
  3. 실행만 됩니다 일괄 프로세스 하둡에서.
  4. 그것은 JDBC 호환, 기존 SQL 기반 도구와도 통합됩니다.
  5. 하이브 지원 파티션
  6. 지원합니다 데이터의 분석적 쿼리 일정 기간 동안 수집된

단점:

  1. 현재 업데이트 문을 지원하지 않습니다.
  2. 파일과 디렉터리를 열에 매핑하기 위해 사전 정의된 스키마가 제공되어야 합니다.

H베이스:

장점:

  1. 확장 가능한, 분산 데이터베이스 대규모 테이블에 대한 구조화된 데이터 스토리지를 지원하는
  2. 그것은 제공한다 무작위, 실시간 읽기/쓰기 액세스 당신의 빅데이터에.HBase 작업은 MapReduce 작업이 아닌 데이터베이스에서 실시간으로 실행됩니다.
  3. 그것은 지원한다 파티션 테이블로, 테이블은 열 그룹으로 추가로 분할됩니다.
  4. 수평으로 확장 Hadoop을 활용해 엄청난 양의 데이터를
  5. 저장하거나 검색할 때 데이터에 대한 키 기반 액세스를 제공합니다.그것 추가 또는 업데이트 지원 행.
  6. 지원 버슨 데이터.

단점:

  1. HBase 쿼리는 학습이 필요한 사용자 정의 언어로 작성됩니다.
  2. HBase는 ACID를 완전히 준수하지 않습니다.
  3. 복잡한 액세스 패턴(예: 조인)에는 사용할 수 없습니다.
  4. 또한 대규모 배치 MapReduce를 수행할 때 HDFS를 완전히 대체할 수는 없습니다.

요약:

Hive는 분석 쿼리에 사용할 수 있고 HBase는 실시간 쿼리에 사용할 수 있습니다.데이터는 Hive에서 HBase로 읽고 다시 쓸 수도 있습니다.

Hive와 Hbase를 비교하기 위해 아래 정의를 기억하고 싶습니다.

트랜잭션을 처리하도록 설계된 데이터베이스는 분석을 처리하도록 설계되지 않았습니다.분석을 잘 할 수 있는 구조가 아닙니다.반면에 데이터웨어 하우스는 분석을 빠르고 쉽게 만들 수 있도록 구성되어 있습니다.

Hive는 장기 실행 ETL 작업에 적합한 Hadoop을 기반으로 구축된 데이터 웨어하우스 인프라입니다.Hbase는 실시간 트랜잭션을 처리하도록 설계된 데이터베이스입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top