아파치 하이브 예제

On agosto 1, 2019 by adminmg

이전 자습서에서 Pig와 마찬가지로 동일한 데이터 처리 작업을 수행하려고 합니다. 우리는 트럭 운전사 통계의 여러 파일을 가지고 우리는 하이브로 가져 와서 그들과 함께 몇 가지 간단한 컴퓨팅을 할 것입니다. 트럭 운전자가 1년 동안 기록한 시간과 마일의 합계를 계산할 것입니다. 시간과 마일의 합계가 기록되면 두 개의 서로 다른 테이블을 조인하여 드라이버 ID 필드를 드라이버 이름으로 변환하도록 스크립트를 확장합니다. 데이터는 로컬 파일이나 HDFS에서 하이브에 이르기까지 Hive에서 2가지 방법으로 로드할 수 있습니다. 로컬에서 Hive로 데이터를 로드하려면 NEW 터미널에서 다음 명령을 사용합니다. Hive는 쿼리 언어와 같은 SQL이 아파치 하두롭 기반 데이터 웨어하우스의 인터페이스로 사용되기 때문에 자주 사용됩니다. Hive는 데이터를 쿼리하는 데 SQL을 사용하는 데 익숙한 사용자에게 친숙하고 친숙한 것으로 간주됩니다. Pig는 데이터를 아파치 하두롭으로 가져오고 쿼리를 위한 양식으로 가져오기 위해 작업하는 데이터 흐름 의 강점을 통해 적합합니다. 이 작동 방식의 좋은 개요는 야후 개발자 블로그에 게시 앨런 게이츠에 있는 돼지와 하이브 에서 야후!. 기술적 인 관점에서 돼지와 하이브 모두 기능이 완료되어 두 도구 중 하나에서 작업을 수행 할 수 있습니다. 그러나, 당신은 하나의 도구를 찾을 수 있습니다 또는 다른 아파치 Hadoop을 사용 해야 하는 다른 그룹에 의해 선호 될 것입니다. 좋은 부분은 선택의 여지가 있고 두 도구가 함께 작동한다는 것입니다.

학생_세부 정보 표에 CSE, ECE 및 Civil의 세 부서에 대한 데이터가 있다고 가정해 보겠습니다. 따라서 아래 이미지와 같이 각 부서에 대해 총 3개의 파티션이 있습니다. 그리고 각 부서마다 Hive 테이블 디렉토리 아래의 별도의 하위 디렉토리에 거주하는 부서에 관한 모든 데이터가 있습니다. 예를 들어 CSE 부서와 관련된 모든 학생 데이터는 사용자/하이브/웨어하우스/student_details/dept.=CSE에 저장됩니다. 따라서 CSE 학생에 대한 쿼리는 CSE 파티션에 있는 데이터만 살펴보기만 하면 됩니다. 이렇게 하면 전체 데이터 집합 대신 관련 분할된 데이터만 검색하여 쿼리 대기 시간을 줄일 수 있으므로 분할이 매우 유용합니다. 실제로 실제 구현에서는 수백 개의 데이터를 처리하게 됩니다. 따라서 95%의 데이터가 쿼리와 관련이 없는 일부 쿼리에 대해 이 방대한 양의 데이터를 스캔한다고 가정해 보십시오. 하이브는 빅 데이터와 하두롭이라는 큰 퍼즐의 일부일 뿐입니다.

하두프는 하이브 그 이상입니다. 아래를 클릭하여 하두프에서 습득해야 할 다른 기술을 확인하십시오. 외부 키워드 만들기는 테이블을 만드는 데 사용되며, Hive가 이 테이블에 대한 기본 위치를 사용하지 않도록 테이블이 만들 위치를 제공합니다. 외부 테이블은 기본 저장소가 아닌 스토리지에 대한 모든 HDFS 위치를 가리킵니다. 하이브는 아파치 하두프를 기반으로 하는 데이터 웨어하우징 인프라입니다. Hadoop은 상용 하드웨어의 데이터 저장 및 처리를 위한 대규모 확장 및 내결함성 기능을 제공합니다. Hive는 API 액세스 또는 SparkSQL을 통해 예측 분석, 기계 학습 및 기타 프로그래밍 모델에서 Spark의 관계형 데이터 스토어로 작동할 수 있습니다. Hive는 Hive 테이블(위치 및 스키마)에 대한 메타데이터와 메타스토어 서비스 API를 통해 개발자가 프로그래밍 방식으로 사용할 수 있는 파티션을 제공하는 메타스토어를 제공합니다. Hive의 데이터는 세분화된 수준에서 세 가지 유형으로 분류될 수 있습니다: ROW FORMAT은 위의 예에서와 같이 필드와 줄을 종료하는 데 사용되는 구분 기호가 있어야 합니다. Hive 테이블의 기본 위치는 LOCATION을 사용하여 덮어씁입니다. 따라서 데이터는 이제 하이브 내부의 데이터 / 날씨 폴더에 저장됩니다.

Comments are closed.