목록Study/Big Data (12)
serendipity

HBase 란? 하둡 플랫폼을 위한 공개 비관계형 분산 데이터베이스 하둡의 분산 파일 시스템인 HDFS위에서 동작한다. 사용자는 Hbase나 HDFS에 직접 데이터를 저장하고 읽고 접근하는 것은 Hbase를 통한 임의접근을 이용할 수 있다. 분석 컬럼 기반 지향의 NoSQL DB으로, * NoSQL DB는 데이터 키값 형식으로 단순하게 구조화 대신 고성능의 쓰기/읽기가 가능하도록 만든 DB -> HBase 경우 특히 쓰기 성능에 최적화되어 있고 대용량 처리가 필요한 대규모 NoSQL 아키텍처 구성에 활용된다. " 대규모 데이터 셋에서 실시간으로 읽고 쓰는 랜덤 액세스가 필요할 때 사용" 특징) - 실제 인덱스가 없다 (row는 순차적으로 저장되고 각 로우별 칼럼도 순차적으로 저장) - 선형 확장성이 있다..

맵리듀스란 ? 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작해 2004년 발표한 sw 프레임워크 간단히 설명해보자면 한명이 3주 작업할 일을 3명이 나눠 1주에 다 끝내는 것! 하둡에서 사용하는 병렬처리 개념이며, 3명의 작업자를 클러스터라고 한다. 하둡에서는 계산시 큰 파일을 블럭단위로 나누고 모든 블럭은 같은 Map 작업을 수행하고 Reduce 작업을 수행한다. [ Input -> Splitting -> Mapping -> Shuffling -> Reducing -> Final Result ] 흩어져있는 데이터를 수직화 -> 데이터를 각각의 종류별로 모음(Map) -> 정렬, 필터링을 거쳐 데이터를 추출(Reduce) 분산형 파일시스템에서 수행되는 ① MapReduc..

ZOOKEEPER 주키퍼 : 분산 코디네이션 서비스를 제공하는 오픈소스 프로젝트 > 분산 시스템에서 시스템 간의 정보 공유, 서버들 간의 동기화를 위한 lock(락), 상태 체크 등을 처리해주는 서비스 ' 안정적이고 가용성 높은 znode 데이터 시스템을 제공하는 클러스터 서버' - 네임 서비스를 통해 분산해서 각각 클라이언트들이 동시 작업할 수 있도록 지원해줘서 부하를 분산시킨다. - 락(lock)을 통해 하나의 서버에서 처리된 결과가 다른 서버들과 동기화할 수 있게 해준다. Architecture : Leader Follower로 구성되는 Master-Slave 아키텍처를 기반으로 구성 여러(3대 이상의) 주키퍼 서버를 하나의 클러스터로 구성한 앙상블(ENSEMBLE) , 앙상블 데이터의 불일치를 방..

Kafka MOM (message oriented Middleware 메시지성 데이터 처리)에 최적화되어 있는 소프트웨어 중 하나로 대규모로 발생하는 메시지성 데이터를 비동기 방식으로 중계하는 역할을 하며 실시간 처리에 사용된다. Topic : broker에서 데이터의 발행/ 소비 처리를 위한 저장소 기능 수행. 이때, 이를 파일시스템에 비유하면 토픽은 폴더와 유사하며 토픽 안의 이벤트는 폴더안의 파일과 유사. 토픽에 저장된 이벤트는 필요한만큼 다시 읽을 수 있다. Broker : topic 컨트롤러로 kafka에서 server를 담당하며 한 클러스터 내에서 kafka server를 여러 대 띄울 수 있다. Provider : broker의 특정 topic에 데이터를 전송하는 역할 Consumer : 데..

Flume 대용량의 로그 데이터를 효율적으로 수집 및 이동할 수 있는 안정적인 분산 서비스 Source : 수집한 데이터를 channel로 전달 Channel : source & sink를 연결, data를 버퍼링, 메모리 & 파일 유를 channel의 저장소로 활용 Sink : channel로부터 받은 데이터를 최종 목적지에 저장 -> hdfs, hive 등에 제공 Interceptor : source와 channel 사이에서 데이터 필터링 및 가공 Agent : source -> interceptor -> channel -> sink -> component 순으로 구성된 작업 단위 활용) 클러스터에 있는 장치로부터 로그 파일들을 수집 후 HDFS와 같은 중앙 저장소에 저장하는 로깅 시스템을 구축할 때..

하둡 에코시스템이란? 하둡과 관련된 프레임워크들로, 하둡 코어 프로젝트 & 하둡 서브 프로젝트로 구성된다. 1) 분산 코디네이터 -Zookeeper 분산 환경에서 서버 간 상호 조정이 필요한 다양한 서비스를 제공하는 시스템이다. 분산 동기화를 제공하고 그룹 서비스를 제공하는 중앙 집중식 서비스로 적절한 분산처리 및 환경을 구성하는 서버 설정을 통합적으로 관리한다. 2) 분산 리소스관리 -YARN 작업 스케줄링 및 클러스터 리소스 관리를 위한 프레임워크다. (맵리듀스, 하이브, 임팔리, 스파크 등 다양한 애플리케이션들은 yarn에서 작업을 실행) -Mesos :클라우드 환경에 대한 리소스 관리 Linux 커널과 동일한 원칙을 사용하며, 컴퓨터에 API를 제공 (API는 ex. hadoop,kafka,spa..

하둡이란? 하나의 성능 좋은 컴퓨터를 이용하여 데이터를 처리하는 대신 적당한 성능의 범용 컴퓨터 여러 대를 클러스터화하고, 큰 데이터를 클러스터에서 동시에 병렬로 처리해 처리 속도를 높이는게 목적인 분산처리를 위한 오픈소스 프레임워크 Hadoop Common : 하둡의 다른 모듈을 지원하기 위한 공통 컴포넌트 모듈 Hadoop HDFS : 분산저장을 처리하기 위한 모듈 / 여러개의 서버를 하나의 서버처럼 묶어서 데이터를 저장 Hadoop YARN : 병렬처리를 위한 클러스터 자원관리 및 스케줄링 담당 Hadoop Mapreduce : 분산되어 저장된 데이터를 병렬 처리할 수 있게 해주는 분산 처리 모듈 Hadoop Ozone : 하둡을 위한 오브젝트 저장소 HDFS Architecture HDFS는 마스..

Matpotlib 이란? 다양한 데이터를 많은 방법으로 도식화 할 수 있도록 하는 시각화 파이썬 라이브러리 Matplotlib 사용 import matplotlib import matplotlib.pyplot as plt * matplotlib는 아래와 같이 크게 두 가지 방법으로 사용할 수 있습니다. - stateless API (objected-based) : 지정한 figure, ax에 그림을 그리는 방법 (직접 만들자!) - stateful API (state-based) : 현재의 figure, 현재의 ax에 그림을 그리는 방법 (직접 지정하지 않고 자동으로 찾아서 plotting!) figure : 그래프를 그릴 공간(종이) / ax(axes) : 공간 중 지금 내가 사용할 부분 여러가지 Pl..

Pandas란 ? : 데이터를 읽고 정리하는데 최적화된 도구인 파이썬 데이터분석 라이브러리입니다. 다음 종류의 데이터에 적합합니다. - SQL 테이블 또는 Excel 스프레드 시트에서와 같이 이질적으로 유형이 지정된 열이있는 데이블 형식 데이터 - 정렬되고 정렬되지 않은 시계열 데이터 - 행 및 열 레이블이 포함 된 임의의 행렬 데이터 - 다른 형태의 관찰 / 통계 데이터 세트 Pandas 사용 import pandas as pd from pandas import Series, DataFrame 데이터 구조 (자료구조) a. Series : 시리즈 = 데이터가 순차적으로 나열된 1차원 배열의 형태 , 열 벡터 (Index 와 Value로 구성) - 시리즈 생성 score = {'english':80, '..

Numpy란? : 다차원 배열을 쉽게 처리하고 효율적으로 사용할 수 있도록 지원하는 파이썬의 패키지 (Numerical Python의 약자) 사용 배경 데이터란 이미지, 오디오 텍스트, 숫자 등 다양한 크기와 형태로 존재합니다. 사람은 이런 데이터들을 가지고 이해하지만 컴퓨터는 0 또는 1만 이해합니다. 여기서 중요한 것은, 데이터를 숫자의 배열로 볼 수 있습니다. 실제로 데이터 분석을 수행하기 위한 전제 조건은 컴퓨터가 이해할 수 있도록 데이터를 숫자 형식으로 변환하는 것입니다. 이를 효율적으로 배열을 저장 및 조작할 수 있어야 해서 Numpy 패키지가 나오게 되었습니다. 파이썬의 내장 기능인 리스트 또한 Numpy 배열과 동일한 기능을 제공할 수 있기 때문에 왜 이걸 써야하지? 라는 의문을 가질 수 ..