아파치 하이브란?하둡에 저장된 데이터(HDFS)를 SQL을 사용해 쉽게 처리하게 해주는 데이터웨어하우스(DW) 패키지입니다. 초기에는 Facebook에서 RDBMS로는 처리하기 힘든 대용량의 데이터를 처리하기 위해 개발했으며 현재는 아파치에 속해있는 오픈소스로 하둡 에코시스템의 일부가 되었습니다. HDFS를 처리하기 위해서는 맵리듀스를 Java나 Python으로 직접 작성해야 하는데 이러한 작업이 오래 걸리기 때문에 SQL만 알면 누구나 HDFS를 처리할 수 있도록 개발되었습니다. 하이브에서 사용하는 SQL은 HiveQL이라고 하는 SQL의 일부에 속하는 언어를 사용합니다.SQL과 거의 비슷하지만 Having절과 같은 일부 기능을 사용하지 못하는 특징이 있습니다. 하둡과 하이브에서의 작동방식을 간..
기본적인 HiveQL을 사용해보기 전에 각 테이블을 import 해줍니다. 기본적인 쿼리를 사용해보면 RDBMS와 마찬가지로 결과를 볼 수 있습니다.여기서 한 가지 차이점은 RDBMS처럼 column 명이 표시되지는 않습니다. count를 사용했을 때는 위와 차이가 있습니다.여기서는 job이 한개 잡힌 것을 확인할 수 있고 이 job이 맵리듀스를 실행하는 것을 볼 수 있습니다.그리고 맵리듀스가 끝나면 마지막에 결과가 출력됩니다. count, group by, order by를 사용한 쿼리입니다.count와 group by에 대한 총 2개의 job을 만들고 각 job들에 대해 맵리듀스를 진행합니다.join을 사용한 쿼리입니다.join에 대한 1개의 job을 만들고 맵리듀스를 진행합니다. HiveQL에..
저번 글에서는 MYSQL에서 HDFS로 먼저 데이터를 옮기고 다시 HDFS에서 Hive로 옮겨봤습니다.이번에는 MYSQL에서 Hive로 바로 데이터를 옮기는 것을 스쿱을 사용해서 해보겠습니다. hive cli에서 show databases를 해보면 저번에 만들었던 hdfs_retail_db를 확인할 수 있습니다. 이번에는 hive_retail_db라는 이름으로 database를 생성합니다. sqoop import 명령어를 입력해줍니다.HDFS로 옮길 때와 차이점은 --hive-database 옵션으로 옮기고자 하는 database를 입력해주고--hive-import 옵션을 명시해줍니다. hive_retail_db에서 쿼리를 사용해보면 성공적으로 데이터가 import된 것을 확인할 수 있습니다.MYSQL..
저번 글에서 MYSQL 데이터를 HDFS로 옮겨봤는데요이번에는 옮겨던 HDFS 데이터를 다시 Hive로 옮겨보겠습니다. 저번에 HDFS로 import해서 가져온 데이터입니다. hive 라고 입력하면 hive cli로 변경됩니다. 먼저 hdfs_retail_db라는 database를 만들어줍니다. 그리고 categories라는 테이블을 만들고 HDFS에 있는 데이터와 동일한 데이터 타입으로 각 column을 다음과 같이 정의합니다. load data inpath 'HDFS에서 옮기려는 데이터' into table 테이블이름 으로 입력해줍니다. 다음 쿼리를 통해 HDFS에서 Hive로 성공적으로 데이터를 옮긴 것을 확인할 수 있습니다.
Sqoop은 MYSQL, Oracle, Postgresql과 같은 RDBMS와 HDFS, Hive, Hbase와 같은 하둡 에코시스템 사이에서 데이터를 주고 받을 수 있게 해줍니다. 이번 글에서는 MYSQL에서 HDFS로 스쿱을 사용해 데이터를 import하는 방법에 대해 알아보겠습니다. 먼저 quickstart에 설치되어있는 MYSQL에 접속하기위해 mysql -u root -p를 입력하고 패스워드는 cloudera를 입력해줍니다.show databases를 해보면 이미 여러 database가 있는 것을 확인할 수 있습니다. 이번에 사용할 데이터는 retail_db라는 database에 있는 테이블을 사용합니다.use retail_db로 retail_db를 선택하고 show tables를 통해 들어있는..
Cloudera quickstart 이미지로 가상머신을 생성하고나면 하둡 에코시스템에 대한 여러 실습이 가능합니다.이번 글에서는 하둡의 기본 명령어에 대해 알아보겠습니다. quickstart 가상머신 첫 화면에서 위에 표시된 아이콘을 클릭하면 터미널을 열 수 있습니다. 1. hadoop fs하둡 명령어는 앞에 hadoop fs 가 항상 붙습니다.터미널에 hadoop fs만 입력하면 사용가능한 하둡 명령어 리스트들을 확인할 수 있습니다.hadoop fs 뒤의 명령어는 대부분 리눅스와 동일하지만 명령어 앞에는 항상 하이픈(-)이 붙습니다. 2. hadoop fs -lsHDFS의 리스트를 확인할 수 있습니다.ls 뒤에 경로를 붙여 탐색하고 싶은 경로를 확인할 수 있고 경로를 붙이지않으면 홈 디렉터..
Cloudera는 하둡 배포판(CDH)을 제공하는 기업입니다. Cloudera에서 제공하는 quickstart에서는 하둡과 에코시스템의 여러 프로젝트들이 설치되어있어 설치 삽질을 하며 시간을 잡아먹을 필요없이 하둡에 대한 실습을 바로 해볼 수 있습니다. 1. Virtual Box 다운로드https://www.virtualbox.org/wiki/Download_Old_Builds_6_0 Download_Old_Builds_6_0 – Oracle VM VirtualBox www.virtualbox.org해당 링크를 통해 Virtual Box를 다운로드 합니다. 현재 최신버전인 6.1 버전에서는 quickstart 이미지가 실행이 되지 않으므로 6.0 버전 밑으로 받으면 됩니다. 2. Clouder qui..
Map Reduce는 하둡 클러스터의 데이터를 처리하기 위한 분산 프로그래밍 모델로써 대용량 데이터를 분산 컴퓨팅 환경에서 병렬로 처리하게 해줍니다. Map과 Reduce라는 두개의 메소드로 구성되어있으며 각 메소드는 프로그래머가 직접 작성하여 원하는 기능에 맞게 데이터를 처리할 수 있습니다. Map에서는 key-value 형식의 데이터를 읽어들여 필터링하거나 다른 값으로 변환하여 key-value의 list를 출력하는 작업을 수행합니다. Reduce에서는 Map에서 나온 결과값(key-value list)을 사용하여 새로운 key 기준으로 그룹화하고 집계연산을 수행하여 결과를 key-value의 list로 출력해줍니다. 이는 중복되는 데이터를 제거하고 원하는 데이터를 추출하는 작업으로서 RDBMS의 ..
- Total
- Today
- Yesterday
- 배열과 문자열
- Jaeha's Safe
- 백준
- Sqoop
- 출전 순서 정하기
- 2225
- Django
- 알고스팟
- python
- C++
- 외발 뛰기
- HDFS
- 완전탐색
- import
- 삼각형 위의 최대 경로
- 종만북
- 코딩인터뷰 완전분석
- 삼각형 위의 최대 경로 수 세기
- Hadoop
- hive
- microwaving lunch boxes
- pyspark
- 스파크
- 팰린드롬 구하기
- 하이브
- 합친 lis
- 분할정복
- HiveQL
- 두니발 박사의 탈옥
- 하둡
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |