![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/NcSco/btqBvujZJwY/hMqiyJ15pycROjLYMV7IkK/img.png)
아파치 플룸(Apache Flume)이란?로그 데이터를 수집하기 위한 분산형 소프트웨어입니다.여러 대의 서버에서 실시간으로 쌓여가는 많은 양의 로그 데이터를 효율적으로 수집하여 하나의 로그 수집 서버로 모아 로그 데이터들을 관리할 수 있습니다. 플룸은 시스템 확장성(Scalability)과 신뢰성(Reliability)을 주요 특징으로 설계되었습니다.따라서 수집 데이터 및 서버의 양에 맞게 효율적으로 플룸 시스템을 확장하여 관리할 수 있고 데이터의 유실없이 수집할 수 있도록 해줍니다. 플룸의 0.x 버전을 Flume OG, 1.x 버전은 Flume NG라고 부르며 이 블로그에서의 플룸에 대한 모든 글은 Flume NG를 기준으로 합니다. 플룸 구성요소플룸은 하나의 Agent로 구성되어있고 Agent는 s..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/y7gh3/btqAWx3R4pt/KKVJ822kLA8rk2ZPm9eg2k/img.png)
이전 글에서 사용했던 여러 함수들을 사용해 간단한 예제 텍스트 파일을 HDFS에서 불러와 wordcount를 직접 해보겠습니다. 먼저 아래 링크에서 sample.txt 파일을 가상머신 내부에 설치해줍니다. 파일 링크http://ailab.ssu.ac.kr/rb/?c=8/29&cat=2016_1_%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%82%B0%EC%BB%B4%ED%93%A8%ED%8C%85&uid=797 A.I Lab - Spark #1 강의자료관리자 | 2016.05.09 | 조회 591ailab.ssu.ac.kr sample.txt 파일이 있는 Downloads 디렉터리로 들어가서 파일을 HDFS에 put 해줍니다. 이제 pyspark 쉘에 들어가서 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bKW3Qb/btqAU7rfiEj/qJdu7dpXMk8wXZxrT7V4F1/img.png)
filter()filter는 filter의 인자함수에서 true인 값만을 반환해줍니다.그러므로 filter에서 사용될 인자함수는 true나 false를 반환해주는 함수를 사용해야 합니다. 지난 글에서 생성했던 RDD입니다.filteredRDD에는 x보다 큰 값으로 filteredRDD2에는 x보다 작은 값으로 filter를 적용해줍니다. 기타 함수first() - RDD의 첫 번째 파티션의 첫 번째 요소를 반환합니다.take() - RDD의 첫 번째 파티션부터 인자로 넣은 정수만큼 반환합니다.takeOrdered() - 오름차순으로 인자값의 개수만큼 반환합니다.top() - 내림차순으로 인자값의 개수만큼 반환합니다. groupByKey()key, value 데이터 타입의 key 값을 기준으로 shuff..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/xlDuY/btqAYpX1w7i/nMxUxcJKfKnNZkQTQKH4rK/img.png)
quickstart 가상머신에서 스파크를 사용하려면 pyspark라는 명령어로 pyspark 쉘에 접근할 수 있습니다.하지만 파이썬 2.6 버전과 스파크 1.6 버전으로 낮은 버전을 사용하기 때문에 버전을 높이거나 주피터 노트북과 같은 환경을 새로 구축해서 사용하기에는 어려운 점이 있어 스파크 함수들을 익히는 정도의 간단한 실습용으로만 사용하는 것을 추천드립니다.처음 쉘에 진입했을 때 SparkContext available as sc 라고 표시되있기 때문에 별도로 선언해주지 않아도 sc로 사용할 수 있습니다. sc의 타입을 확인해보면 SparkContext로 나옵니다. 이 SparkContext를 이용해 RDD를 생성하고 여러 스파크 함수들을 사용할 수 있습니다.먼저 파이썬의 데이터 타입들을 사용하여 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/PILkS/btqAPeqcmjo/4XkI5m8YcHmBPO9xLjvRuK/img.png)
지금까지 했던 실습을 바탕으로 KBO 야구 데이터를 Hive에 옮기고 HiveQL로 간단한 분석을 해보겠습니다.먼저 아래 링크에서 첨부파일을 가상머신 내에서 다운받고 압축을 풀어줍니다. http://ailab.ssu.ac.kr/rb/?c=8/29&cat=2016_1_%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%82%B0%EC%BB%B4%ED%93%A8%ED%8C%85&p=2&uid=770" data-og-host="ailab.ssu.ac.kr" data-og-source-url="http://ailab.ssu.ac.kr/rb/?c=8/29&cat=2016_1_%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B6%84%EC%82%B0%EC%..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dB38ci/btqAOJDykrl/AWyMmnUmxKndQjjYDzkEt0/img.png)
아파치 하이브란?하둡에 저장된 데이터(HDFS)를 SQL을 사용해 쉽게 처리하게 해주는 데이터웨어하우스(DW) 패키지입니다. 초기에는 Facebook에서 RDBMS로는 처리하기 힘든 대용량의 데이터를 처리하기 위해 개발했으며 현재는 아파치에 속해있는 오픈소스로 하둡 에코시스템의 일부가 되었습니다. HDFS를 처리하기 위해서는 맵리듀스를 Java나 Python으로 직접 작성해야 하는데 이러한 작업이 오래 걸리기 때문에 SQL만 알면 누구나 HDFS를 처리할 수 있도록 개발되었습니다. 하이브에서 사용하는 SQL은 HiveQL이라고 하는 SQL의 일부에 속하는 언어를 사용합니다.SQL과 거의 비슷하지만 Having절과 같은 일부 기능을 사용하지 못하는 특징이 있습니다. 하둡과 하이브에서의 작동방식을 간..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cgGNkn/btqAQOcXIyO/vMkh2m2lxTv9jvkKnJG5c0/img.png)
기본적인 HiveQL을 사용해보기 전에 각 테이블을 import 해줍니다. 기본적인 쿼리를 사용해보면 RDBMS와 마찬가지로 결과를 볼 수 있습니다.여기서 한 가지 차이점은 RDBMS처럼 column 명이 표시되지는 않습니다. count를 사용했을 때는 위와 차이가 있습니다.여기서는 job이 한개 잡힌 것을 확인할 수 있고 이 job이 맵리듀스를 실행하는 것을 볼 수 있습니다.그리고 맵리듀스가 끝나면 마지막에 결과가 출력됩니다. count, group by, order by를 사용한 쿼리입니다.count와 group by에 대한 총 2개의 job을 만들고 각 job들에 대해 맵리듀스를 진행합니다.join을 사용한 쿼리입니다.join에 대한 1개의 job을 만들고 맵리듀스를 진행합니다. HiveQL에..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/x3JfU/btqAPcL85mF/j0qW6hGtKelpP66ObEKcAK/img.png)
저번 글에서는 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..
- Total
- Today
- Yesterday
- 종만북
- 하이브
- Django
- python
- 합친 lis
- import
- microwaving lunch boxes
- hive
- C++
- 2225
- 백준
- 스파크
- 코딩인터뷰 완전분석
- Sqoop
- 출전 순서 정하기
- 배열과 문자열
- 외발 뛰기
- Hadoop
- pyspark
- HiveQL
- 팰린드롬 구하기
- 알고스팟
- 분할정복
- Jaeha's Safe
- 하둡
- 삼각형 위의 최대 경로 수 세기
- HDFS
- 삼각형 위의 최대 경로
- 완전탐색
- 두니발 박사의 탈옥
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |