일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- LSTM
- effective python
- Java
- tensorflow
- python
- 코딩더매트릭스
- C언어
- 알고리즘
- 파이썬
- RNN
- 하이브
- NumPy
- 그래프이론
- 주식분석
- Sort
- 텐서플로
- collections
- graph
- HelloWorld
- recursion
- 딥러닝
- C
- codingthematrix
- hadoop2
- yarn
- 선형대수
- GRU
- hive
- 하둡2
- scrapy
- Today
- Total
목록하이브 (6)
EXCELSIOR
1. SQL-On-Hadoop 이란?SQL-On-Hadoop이란 HDFS에 저장된 데이터에 대한 SQL 질의 처리를 제공하는 시스템을 의미한다. 대부분의 SQL-On-Hadoop 시스템들은 하둡1에서 제공하는 맵리듀스 아키텍처를 이용하지 않고 새로운 분산 처리 모델과 프레임워크를 기반으로 구현돼 있다. SQL-On-Hadoop에는 하이브(Hive), 타조(Tajo), 임팔라(Impala), Facebook의 프레스토(Presto) 등 다양한 SQL-On-Hadoop이 존재한다. SQL-On-Hadoop이 출시된 배경은 다음과 같다.하둡을 도입한 사용자들의 요구사항이 단순히 대용량의 데이터를 배치 처리하는 것이 아니라 높은 처리 성능과 빠른 반응속도를 요구하고 있다. 데이터 분석 과정에서 다양한 쿼리를 반..
하이브는 효율적인 쿼리문 수행을 위해 버킷이라는 데이터 모델을 제공한다. 버킷은 버킷 칼럼 해시를 기준으로 데이터를 지정된 개수의 파일로 분리해서 저장한다. 버킷은 테이블을 생성할 때 다음과 같은 형태로 선언한다. CLUSTERED BY (칼럼) INTO 버킷 개수 BUCKETS; 버킷을 사용하면 쿼리의 성능을 향상시킬 수 있다. 예를 들어, 조인키로 버킷을 생성해두면 생성된 버킷 중 필요한 버킷만 조회하면 되기 때문에 디렉터리 전체를 풀스캔하는 것보다 훨씬 빠르게 작업을 처리할 수 있다. 또한 버킷을 이용하면 데이터 샘플링을 이용한 다양한 쿼리를 수행할 수 있다. 그럼 이제 실제 버킷을 생성해보도록 하자. 다음의 테이블 생성은 UniqueCarrier 칼럼을 대상으로 20개의 버킷을 생성한다. hive..
맵리듀스로 조인을 구현하려면 몇십 줄의 클래스를 작성해야하지만, 하이브를 이용하면 쿼리문을 통해 간단하게 조인을 할 수 있다.단, 다음의 제약사항이 있다.하이브는 EQ조인만 지원한다. EQ조인은 두 테이블 대상으로 동일성을 비교한 후, 그 결과를 기준으로 조인하는 것이다. 이 조인에서는 조인 서술자로 등호(=)만 사용할 수 있다.하이브는 FROM 절에 테이블 하나만 지정할 수 있고, ON 키워드를 사용해 조인을 처리해야 한다.이번 포스팅에서는 교재에 나와있는대로 하이브의 조인 기능을 사용해 항공 운항 지연 데이터와 항공사 코드 테이블을 조인해 볼 것이다. 먼저, 항공사 코드 데이터를 저장하기 위한 테이블을 생성한다. (항공사 코드 데이터는 http://stat-computing.org/dataexpo/2..
1. 데이터 업로드 하이브는 로컬 파일 시스템에 있는 데이터와 HDFS에 저장도니 데이터를 모두 업로드 할 수 있다. 여기서는 항공운항통계 데이터 파일을 업로드 하겠다. (항공운항데이터는 http://stat-computing.org/dataexpo/2009/에서 다운로드 받을 수 있다.) 하이브 CLI에서 다음과 같이 LOAD DATA를 입력한다. OVERWRITE INTO 절은 중복된 데이터가 있어도 무시하고 입력한다는 의미이다. PARTITION 절은 파티션 키인 delayYear 값을 2008로 설정해 데이터를 입력하는 설정이다. 앞에 포스팅한 글에서 테이블을 생성할 때 파티션을 설정했는데, 데이터를 업로드할 때 PARTITION절을 설정하지 않으면 LOAD DATA 실행 시 오류가 발생한다. h..
1. 하이브QL (HiveQL)하이브는 하이브QL 이라는 SQL문과 유사한 언어를 제공한다. 대부분의 기능은 SQL과 유사하지만 다음과 같은 차이점이 있다.하이브에서 사용하는 데이터가 HDFS에 저장되는데, HDFS가 한 번 저장한 파일은 수정할 수 없기 때문에 UPDATE와 DELETE는 사용할 수 없다. 또한, INSERT도 비어 있는 테이블에 입력하거나 이미 입력된 데이터를 덮어 쓰는 경우에만 가능하다. 따라서 하이브QL은 "INSERT OVERWRITE"라는 키워드를 사용한다.SQL은 어떠한 절에서도 서브쿼리를 사용할 수 있지만 하이브QL은 FROM 절에서만 서브 쿼리를 사용할 수 있다.SQL의 뷰는 업데이트할 수 있고, 구체화된 뷰 또는 비구체화된 뷰를 지원하지만 하이브QL의 뷰는 읽기 전용이며..
1. 하이브 페이스 북에서 개발한 하이브는 하둡에 저장된 데이터를 쉽게 처리할 수 있는 데이터웨어하우스(DW) 패키지 이다. 1)하이브 아키텍처하이브의 클라이언트는 커맨드 라인 인터페이스(Command Line Interface: CLI), 하이브 서버, 웹 인터페이스로 구성된다. 하이브 서버의 경우 JDBC, ODBC, 쓰리프트로 개발된 클라이언트가 하이브 서비스를 이용할 수 있게 쓰리프트 서비스를 제공한다.하이브는 메타스토어(Metastore)라는 저장소를 만들어 하둡에서 처리된 메타데이터의 구조를 메타스토어에 저장한다. 하이브는 오라클, MySQL 등 JDBC를 지원하는 모든 데이터베이스를 이용해 메타스토어를 구축할 수 있다. 드라이버는 사용자가 입력한 하이브QL문을 해석한다. 하둡과 연결되어 하이..