Hive

매우 SQL과 비슷한 HQL(Hive Query Language)이라는 언어를 사용합니다. 프로그래머가 아닌 사용자에게 Hadoop의 데이터를 쿼리하고 분석 할 수 있는 기능을 제공합니다. 기본적으로 Map-ReduceTez위에 추상 레이어가 있습니다.

 

Pig

- Pig Latin이라는 스크립팅 언어를 사용합니다. 전문 Java 프로그래머 일 필요는 없지만 코딩 기술이 필요합니다. 또한 map-reduce Tez 위에 추상 레이어가 있습니다.

 

- 고도로 구조화되지 않은 데이터를 가져 와서 의미있는 형식으로 변환하는 데 사용되는 도구입니까? 예를들어. 임의로 생성 된 로그를 가져 와서 각 필드가 의미하는 쉼표로 구분 된 형식으로 변환합니다. Pig 스크립트는 데이터 집합에서 Map Reduce 작업을 실행하고 다른 데이터 집합으로 변환합니다.

 

- Pig는 스크립팅 언어이기 때문에 복잡한 알고리즘을 매우 효율적으로 작성할 수 있습니다. 예를 들어 Hadoop의 고전적인 단어 계산 예제는 Java Map-Reduce 프로그램에서 100 줄의 코드를 사용하지만 Pig에서는 2-3 줄만 필요합니다. Java에서 Map-Reduce를 작성하는 것보다 복잡한 데이터 처리 알고리즘을 빠르게 작성하기 위한 대안으로 Pig를 고려하십시오. 또한 PigETL 특정 처리에 광범위하게 사용됩니다.

 

- 구조화되지 않은 데이터 -> Pig(합리적인 데이터로 변환) -> 하이브(SQL을 실행하고 결합하여 원하는 통계를 제공)

 

Spark

in-memory computing에 중점을 두어 Hadoopmap-reduce의 후속 제품입니다. Spark를 사용하려면 자바를 잘알아야 합니다. 비교적 견고한 새로운 프로젝트 인 Spark SQL도 있습니다.

 

 

프로그래밍 패러다임을 줄입니다. RDD(Resilient Distributed DataSet아키텍처에서 작동하며 기존 Map Reduce에 비해 10-100% 빨라졌습니다. 그래서 요즘은 Spark에서 BIG Data 인프라를 구축하기 시작했습니다

 

Hadoop에서 어떤 것을 선택해서 분석해야하는가?

1. 데이터를 분석하려는 사람이 얼마나 기술적인가

그 사람이 SQL을 알고 그것에 관한 것이라면 Hive가 확실한 선택입니다.

 

2. 얼마나 빨리 처리해야하는가

Hive Pig는 배치 지향 프레임 워크를 사용하므로 분석 작업이 수분 또는 몇 시간 동안 실행됩니다. 스파크는 빠르지 만 훨씬 낮은 레벨입니다.

 

3. 데이터가 얼마나 잘 구조화(Structured Data)되었는가.

CSV 파일과 같은 것을 사용하고 있습니까? 아니면 지저분한 웹 로그일까요? 잘 구조화되어 있다면 분석 할 데이터를 하이브 테이블에 로드하고 진행하는 데 걸리는 시간을 훨씬 단축 할 수 있습니다. 데이터 분석과 구문 분석이 많은 경우 Pig와 스파크를 고려해야합니다.







참조 : https://www.quora.com/What-is-the-criteria-to-chose-Pig-Hive-Hbase-Storm-Solr-or-Spark-to-analyze-your-data-in-Hadoop

'Hadoop ecosystem > Hive' 카테고리의 다른 글

Hive - Drop  (0) 2017.05.04
Hive - Create  (0) 2017.05.04
Hive - Data Type  (0) 2017.05.04
Hive - JOIN  (0) 2017.05.04
Hive - SELECT(WHERE / ORDER BY / GROUP BY)  (0) 2017.05.04

+ Recent posts