스터디/Data Analytics 8

데이터 분석 프레임워크 - AARRR (해적지표)

AARRR 기법은 그로스 해킹(Growth Hacking) 의 분석 기법이다. 그로스 해킹은 기업의 성장을 최우선으로 하며, 사용자의 데이터를 분석해 서비스를 개선하는 데에 활용하기 때문에 이런 이름이 붙게 되었다. 다섯 단어의 앞 글자를 땄으며 각각 Acquisition(획득), Activation(활동), Retention(재방문), Referral(공유), Revenue(수익) 이다. 사용자가 서비스를 활용하면서 수집되는 여러 데이터 중 위 다섯가지의 지표를 핵심으로 서비스의 성장에 활용한다. 다섯 개의 지표를 순차적으로 분석하는 것이 아니라 함께 분석해야 한다. (1) Acquisition 획득 단계에서는 소비자가 서비스를 어떻게 알게 되었는지, 어떤 경로로 유입되었는지 등을 분석한다. DAU, ..

[Hadoop] 맵리듀스 - 분산 데이터 처리 프레임워크

좋은 분산 시스템을 구축하기 위해서는 효율적인 입출력도 중요하지만 이것만으로는 충분하지 않다. YARN은 클러스터에 계산을 분산하고 HDFS에 보관된 데이터를 확장 가능하도록 처리하는 방법을 추상화해서 제공하는 것 뿐이다. 따라서 계산을 표현하는 방법이 중요한데, 하둡이 가장 처음 지원한 데이터 처리 모델은 맵리듀스이다. 맵리듀스는 구글이 발표했고 많은 문제를 해결할 수 있으며 단순한 모델에 기반을 둔다. 덕분에 분산 시스템을 잘 몰라도 인프라 구축을 고민하지 않고 맵리듀스를 통해 문제를 해결할 수 있다. 맵리듀스는 병렬 처리 모델이고 문제를 맵 단계, 셔플 단계, 리듀스 단계로 나눠서 수행한다. HDFS의 데이터 지역성과 YARN의 작업 및 리소스 관리 기능이 이 세 단계 계산이 효율적이도록 돕는다. ..

[PySpark] Jupyter Notebook에서 PySpark 사용하기

저번 포스트에서는 windows10 에 스파크를 설치해보았다.다만 cmd 창에서 모든 작업을 진행하기에는 불편함이 있어서 (작업 명령어 등 내용 저장에 불편)앞으로는 쥬피터 노트북으로 작업하기 위해 작업환경을 세팅하고 테스트로 데이터를 불러와보았다.쥬피터 노트북과 아나콘다는 이미 설치되어 있다고 가정한다. 데이터를 저장하고 관리하기 위해 하둡을 함께 사용한다. (하둡 설치 방법은 이전 포스트 참고)즉, 이번 포스트에서 다루는 내용은 스파크와 하둡을 연결하는 내용이라고 볼 수 있겠다.   (1) 하둡 실행cmd 창을 열어 하둡 설치파일이 있는 디렉토리로 이동하고 다음 명령어들을 차례로 실행한다.이 때 'hdfs namenode -format' 명령은 할 때마다 실행하지 않고 맨 처음에만 실행해도 되는 것 ..

[Hadoop] YARN - 리소스 관리자와 스케줄러

저번에는 하둡이 무엇인지, 그리고 하둡의 기본 파일 시스템인 분산 파일 시스템에 대해 공부했다. 이번에는 이어서 하둡의 리소스 관리자와 스케줄러에 대해 공부해보려고 한다. 분산 시스템에서는 스케줄링과 리소스 관리 기능을 핵심 요소로 가지고 있는데, 하둡에서는 계산 리소스를 할당하고 사용자 애플리케이션을 스케줄링하는 시스템으로 YARN 을 사용한다. YARN (Yet Another Resource Negotiator) 은 스케줄링과 리소스 관리를 담당하여 데이터의 지역성을 극대화하고 계산량이 많은 애플리케이션이 자원을 독점하지 않도록 제어한다. 또한 교체가 가능한 스케줄링 시스템을 지원하고 사용자당 리소스 제한, 작업 대기열당 리소스 할당량 등의 공용 리소스 시스템 스케줄링에 필요한 환경 설정을 스케줄러에..

[Hadoop] 하둡 설치하고 확인해보기

스파크를 사용할 때 저장소로 하둡을 사용하기 위해 하둡을 설치해보겠다. 하둡 설치는 다음 과정을 따른다. (1) 하둡, 자바 다운 https://hadoop.apache.org/releases.html 위 링크에서 받으려는 하둡 버전을 확인하고 binary 를 선택해 압축파일을 다운받는다. 압축파일은 ~.tar.gz 확장자 이름을 가지고 있고 나는 3.2.2 버전을 받았다. (스파크에 포함된 하둡 버전이 3.2 버전이다.) 자바(jdk)도 다운받아야 하지만 자바는 이미 있기 때문에 해당 과정은 생략한다. (나의 자바 버전 13) (2) 환경변수 설정 스파크 설치 때와 마찬가지로 환경변수를 설정한다. (이전 게시글에서 자세히 다뤘으므로 여기서는 패스한다.) 다만 이전에 설정했던 HADOOP_HOME 을 편..

[Spark] 스파크 설치하고 csv 파일 불러오기

스파크는 데이터 과학에서 자주 볼 수 있는 반복 연산에 적합한 개념과 기능을 제공하는 인-메모리 데이터 처리 엔진으로 빠른 속도가 특징이다. 다양한 언어와 데이터 포맷을 지원하고 데이터 전처리를 효과적으로 수행할 수 있어서 빅데이터 파일 시스템으로 많이 쓰이는 하둡과 같이 쓰이기도 한다. 기본적인 분산 처리 기능 뿐 아니라 스파크 SQL, MLlib, 스트리밍 등 여러 구성 요소가 있다. 기본 데이터 구조로는 객체의 분산 시퀀스인 RDD(Resilient Distributed Dataset)를 사용하며 RDD는 다양한 관계 대수 연산자(SELECT, JOIN 등)와 스칼라, 파이썬 변환 로직의 피연산자로 적용될 수 있다. RDD는 또한 RAM에 저장되며 자동으로 결함을 극복하는 메커니즘을 지원한다. 만약..

[Hadoop] 하둡과 분산 파일 시스템

데이터 과학, 데이터 분석에 관심이 있다면 한 번쯤 접하게 되는 이름이 바로 '하둡(Hadoop)'이다. 하둡은 자바 기반의 분산 컴퓨팅 플랫폼으로, 핵심 파일 시스템인 HDFS(Hadoop Distributed File System) 덕분에 대용량의 데이터를 저장하고 다룰 수 있다. 어떻게 이런 관리가 가능할까? 하둡은 구글의 GFS(Google File System)를 기반으로 설계되었는데, 일반적인 파일 시스템을 가진 여러 데이터노드를 묶어서 하나의 분산 파일 시스템을 구축하도록 하였다. 따라서 파일 시스템을 쉽게 확장할 수 있게 되었고 대용량의 데이터를 저장하고 관리할 수 있게 되었다. 이런 HDFS의 설계에는 세 가지의 가정이 반영되었는데 첫 번째, 데이터의 풀 스캐닝을 지원하기 위해서 파일 순..

[Pandas] 판다스와 시리즈 기본

참고 : https://wikidocs.net/75004 Pandas(이하 판다스)는 파이썬 라이브러리로, 데이터 조작 및 분석에 용이하며 사용하기 쉬운 데이터 구조를 제공한다. 데이터프레임, 시리즈, 인덱스 등의 자료구조를 제공하며 관계형 데이터베이스의 테이블과 같은 구조로, SQL과 같은 형태로 데이터를 처리할 수 있기 때문에 쉽게 접근할 수 있다. 단독 사용보다는 NumPy, scikit-leran, matplotlib 과 함께 사용하는 경우가 많다. (1) 판다스의 자료구조 판다스가 제공하는 자료구조이다. 시리즈는 배열 형식, 데이터프레임은 표 형식의 구조이며 시리즈가 모여 데이터프레임을 구성한다. 시리즈 : 값(values) + 인덱스(index) 데이터프레임 : 칼럼(columns) + 인덱스..