가장 일반적인 HBase 인터뷰 질문 및 답변 [궁극 가이드]
게시 됨: 2020-09-21Apache HBase는 애플리케이션이 실시간으로 데이터를 푸시하거나 가져오기를 원할 때 탁월한 빅 데이터 솔루션입니다. 주로 유연한 스키마와 빠른 속도로 유명합니다. 이 기사는 몇 가지 주요 HBase 인터뷰 질문 에 대한 답변을 제공하는 것을 목표로 합니다 . 면접관은 후보자의 기술 및 일반 인식을 테스트하기를 원합니다. 따라서 개념을 정확하고 철저하게 전달하려고 노력해야 합니다.
Adobe, HubSpot, Facebook, Twitter, Yahoo!, OpenLogic, StumbleUpon을 비롯한 전 세계의 많은 선도 기업에서 Hbase 기술을 사용합니다. 확장 가능한 웹 사이트를 구축하려는 야심 찬 웹 개발자에게 Hadoop 및 HBase와 같은 마스터링 도구는 매우 유용할 수 있습니다.
세계 최고의 대학에서 데이터 과학 을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
읽기: Hadoop 프로젝트 아이디어
목차
최고의 HBase 인터뷰 질문 및 답변
1. HBase 란 무엇입니까?
Apache Software Foundation에서 개발한 컬럼 지향 데이터베이스입니다. Hadoop 클러스터 위에서 실행되는 HBase는 반정형 및 비정형 데이터를 저장하는 데 사용됩니다. 따라서 기존의 관계형 데이터베이스와 같은 엄격한 스키마가 없습니다. 또한 SQL 구문 구조를 지원하지 않습니다. HBase는 클러스터 및 지역 서버를 규제하는 마스터 노드를 통해 데이터를 저장하고 운영합니다.
2. Hbase를 사용하는 이유는 무엇입니까?
HBase는 고용량 스토리지 시스템과 임의 읽기 및 쓰기 작업을 제공합니다. 초당 여러 작업을 수행하여 대용량 데이터 세트를 처리할 수 있습니다. 분산되고 수평으로 확장 가능한 설계 덕분에 HBase는 실시간 애플리케이션에 널리 사용됩니다.
3. HBase의 주요 구성 요소를 설명합니다.
HBase의 작업 부분에는 Zookeeper, HBase 마스터, RegionServer, 지역 및 카탈로그 테이블이 포함됩니다. 각 요소의 목적은 다음과 같이 설명할 수 있습니다.
- Zookeeper는 클라이언트와 HBase 마스터 사이를 조정합니다.
- HBase 마스터는 RegionServer를 모니터링하고 관리 기능을 처리합니다.
- RegionServer는 지역을 감독합니다.
- 지역에는 MemStore 및 HFile이 포함됩니다.
- 카탈로그 테이블은 ROOT 및 META로 구성됩니다.
기본적으로 Hbase는 행, 열 및 기본 키가 있는 각 테이블이 있는 일련의 테이블로 구성됩니다. 객체의 속성을 나타내는 HBase 열입니다.
4. HBase의 다양한 운용 명령어는 무엇인가요?
HBase에는 Get, Delete, Put, Increment 및 Scan의 5가지 중요한 작동 명령이 있습니다.
Get은 테이블을 읽는 데 사용됩니다. HTable.get을 통해 실행되며 테이블에서 특정 행의 데이터 또는 속성을 반환합니다. 삭제는 테이블에서 행을 제거하는 반면, Put은 행을 추가하거나 업데이트합니다. 증분은 단일 행에서 증분 작업을 활성화합니다. 마지막으로 Scan은 특정 속성에 대해 여러 행을 반복하는 데 사용됩니다.
5. WAL과 Hlog로 무엇을 이해합니까?
- WAL은 Write Ahead Log의 약자로 MySQL의 BIN 로그와 매우 유사합니다. 데이터의 모든 변경 사항을 기록합니다.
- HLog는 HLogkey 저장소를 유지 관리하는 Hadoop의 표준 메모리 내 시퀀스 파일입니다.
WAL과 HLog는 서버 장애 및 데이터 손실 시 생명선 역할을 합니다. RegionServer가 충돌하거나 사용할 수 없게 되면 WAL 파일은 데이터 변경 사항을 재생할 수 있도록 합니다.
6. Hbase를 사용할 몇 가지 상황을 설명하십시오.
다음과 같은 경우 HBase를 사용하는 것이 적합합니다.
- 데이터의 크기는 방대하여 수백만 개의 레코드를 작업해야 합니다.
- 당신은 기존의 RDBMS를 완전히 재설계하고 재정비하고 있습니다.
- 클러스터에 인프라 투자를 수행할 리소스가 있습니다.
- 트랜잭션, 유형이 지정된 열, 내부 행 등과 같은 특정 SQL이 없는 명령이 있습니다.
7. 열 패밀리와 행 키는 무엇을 의미합니까?
컬럼 패밀리는 HBase의 기본 스토리지 단위를 구성합니다. 이들은 테이블 생성 중에 정의되고 디스크에 함께 저장되며 나중에 압축과 같은 기능을 적용할 수 있습니다.
행 키를 사용하면 셀을 논리적으로 그룹화할 수 있습니다. 응용 프로그램이 정렬 순서를 정의할 수 있도록 결합된 키에 접두어가 붙습니다. 이런 식으로 동일한 행 키를 가진 모든 셀을 동일한 서버에 저장할 수 있습니다.
8. HBase는 관계형 데이터베이스와 어떻게 다릅니까?
HBase는 희박하게 채워진 테이블을 포함하는 스키마 없는 열 지향 데이터 저장소이기 때문에 관계형 데이터베이스와 다릅니다. 관계형 데이터베이스는 스키마 기반, 행 지향형이며 정규화된 데이터를 씬 테이블에 저장합니다. 또한 HBase는 자동 파티셔닝의 장점이 있지만 RDBMS에는 이러한 기본 제공 지원이 없습니다.

읽기: DBMS 대 RDBMS: DBMS와 RDBMS의 차이점
9. HBase에서 셀을 구성하는 것은 무엇입니까?
셀은 튜플 형식의 데이터를 보유하는 HBase 테이블의 가장 작은 단위입니다. 튜플은 여러 부분으로 구성된 데이터 구조입니다. HBase에서는 {row, column, version}으로 구성됩니다.
10. HBase에서 압축을 정의합니다.
압축은 데이터베이스에서 이전 파일을 제거하기 전에 HFile을 단일 파일로 병합하는 데 사용되는 프로세스입니다.
11. HBase를 사용하지 않고 HFile에 직접 액세스할 수 있습니까?
예, HBase의 도움 없이 HFile에 직접 액세스하는 고유한 기술이 있습니다. 이를 위해 HFile.main 메서드를 사용할 수 있습니다.
12. HBase의 삭제 및 삭제 표시에 대해 논의합니다.
HBase에서 정상적인 삭제 프로세스는 삭제 표시를 생성합니다. 삭제된 셀은 보이지 않게 되지만 해당 셀이 나타내는 데이터는 압축하는 동안 실제로 제거됩니다. HBase에는 세 가지 유형의 삭제 표시가 있습니다.
- 버전 삭제 마커: 컬럼의 단일 버전을 삭제하도록 표시합니다.
- 열 삭제 마커: 열의 모든 버전을 표시합니다.
- 패밀리 삭제 마커: 컬럼 패밀리의 모든 컬럼이 삭제되도록 설정합니다.
여기서 HBase의 행은 주요 압축 후에 완전히 삭제된다는 점에 유의해야 합니다. 따라서 더 많은 데이터를 삭제하고 추가할 때 Gets가 삭제 표시로 가려질 수 있으며 압축이 끝날 때까지 삽입된 값을 볼 수 없습니다.
13. column family의 블록 크기를 변경하면 어떻게 됩니까?
데이터베이스가 이미 사용 중이고 HBase에서 열 패밀리의 블록 크기를 변경하려는 경우 이전 데이터는 이전 블록 크기로 남아 있을 수 있습니다. 압축하는 동안 이전 데이터와 새 데이터는 다음과 같이 작동합니다.
- 기존 데이터는 새 블록 크기를 사용하고 계속해서 올바르게 읽습니다.
- 새 파일은 새 블록 크기를 갖습니다.
이러한 방식으로 모든 데이터는 다음 주요 압축 전에 원하는 블록 크기로 변환됩니다.
14. HBase가 실행할 수 있는 다양한 모드를 정의합니다.
HBase는 독립 실행형 모드 또는 분산 모드에서 실행할 수 있습니다. 독립 실행형은 HDFS 대신 로컬 파일 시스템을 사용하는 HBase의 기본 모드입니다. 분산 모드의 경우 다음과 같이 더 세분화할 수 있습니다.
- 의사 분산 모드: 모든 데몬이 단일 노드에서 실행됨
- 완전 분산 모드: 데몬은 클러스터의 모든 노드에서 실행됩니다.
15. HBase에서 조인을 어떻게 구현하시겠습니까?
HBase는 MapReduce 작업을 사용하여 확장 가능한 방식으로 테라바이트의 데이터를 처리합니다. 조인을 직접 지원하지는 않지만 조인 쿼리는 HBase 테이블에서 데이터를 검색하여 구현됩니다.
체크아웃: Hadoop 인터뷰 질문
16. HBase에서 필터의 목적에 대해 논의하십시오.
사용자가 Shell 또는 Thrift를 통해 HBase에 액세스할 수 있도록 필터가 Apache HBase 0.92에 도입되었습니다. 따라서 서버 측 필터링 요구 사항을 처리합니다. 반환된 데이터에 대한 추가 제어를 얻기 위해 필터 사용을 확장하는 데코레이팅 필터도 있습니다. 다음은 HBase의 필터에 대한 몇 가지 예입니다.
- 블룸 필터: 일반적으로 실시간 쿼리에 사용되며 HFile에 특정 행 또는 셀이 포함되어 있는지 여부를 확인하는 공간 효율적인 방법입니다.
- 페이지 필터: 페이지 크기를 매개변수로 받아들이면 페이지 필터는 개별 HRegions의 스캔을 최적화할 수 있습니다.
17. HBase를 (i) Cassandra (ii) Hive와 비교하십시오.
(i) HBase 및 Cassandra: Cassandra와 HBase는 모두 대규모 데이터 세트를 관리하도록 설계된 NoSQL 데이터베이스입니다. 그러나 Cassandra Query Language(CQL )의 구문은 SQL을 모델로 합니다. 두 데이터 저장소 모두에서 행 키는 기본 인덱스를 형성합니다. Cassandra는 열 값에 대한 보조 인덱스를 생성할 수 있습니다. 따라서 반복 수준이 높은 열에서 데이터 액세스를 향상시킬 수 있습니다. HBase에는 이 조항이 없지만 보조 인덱스 기능을 가져오는 다른 메커니즘이 있습니다. 이러한 방법은 온라인 참조 가이드에서 쉽게 찾을 수 있습니다.
(ii) HBase 및 Hive: 둘 다 Hadoop 기반 기술입니다. 위에서 논의한 바와 같이 HBase는 NoSQL 키/값 데이터베이스입니다. 반면에 Hive는 정교한 MapReduce 작업을 실행할 수 있는 SQL과 같은 엔진입니다. Hive에서 HBase로 또는 그 반대로 데이터 읽기 및 쓰기 작업을 수행할 수 있습니다. Hive는 분석 작업에 더 적합하지만 HBase는 실시간 쿼리에 탁월한 솔루션입니다.
또한 읽기: HBase 아키텍처: 알아야 할 모든 것
결론
이러한 HBase 인터뷰 질문 과 사용 사례를 통해 이 기사를 마무리합니다. 우리는 기초, 중급 및 고급 수준에 맞게 다양한 주제를 다루려고 했습니다. 따라서 채용 담당자에게 좋은 인상을 주기 위해 계속 수정하십시오!
데이터 과학에 대해 자세히 알아보려면 작업 전문가를 위해 만들어졌으며 10개 이상의 사례 연구 및 프로젝트, 실용적인 실습 워크숍 , 업계 전문가와의 멘토링, 1 - 업계 멘토와 일대일, 400시간 이상의 학습 및 최고의 기업과의 취업 지원.