빅데이타 47

Apache Storm을 이용한 실시간 데이타 처리 #6 –Storm 그룹핑 개념 이해하기

대충보는 Storm #6-Apache Storm 그룹핑 개념 이해하기 조대협 (http://bcho.tistory.com) 지금까지 컴포넌트간의 경로 라우팅, 즉 Spout 에서 Bolt간, Bolt에서 Bolt간 경로를 설정하는 방법에 대해서 알아보왔다.그렇다면 각 컴포넌트간 라우팅을 할때 그 안에 있는 Task간에는 어떻게 상세하게 라우팅이 될까? Storm에서는 이 Task간의 라우팅을 정의하기 위해서 Grouping이라는 개념을 사용한다. Shuffling가장 간단한 라우팅 방법으로 Bolt A에서 Bolt B로 라우팅을 한다고 했을때, Bolt A내의 있는 Task가 Bolt B에 있는 Task중 아무 Task로 임의로(랜덤하게) 라우팅 하는 방식이다. FieldBolt A에 있는 Task에서 ..

Apache Storm을 이용한 실시간 데이타 처리 #4 –소개와 기본 개념

대충보는 Storm #4-Apache Storm 특징과 기본 개념 조대협 (http://bcho.tistory.com) 지금까지 Storm에 대해서 이해하기 위해서, 실시간 스트리밍 서비스의 개념에 대해서 알아보고 간단한 HelloStorm 애플리케이션을 제작해서, 싱글 클러스터 노드에 배포해봤다. 대략 실시간 스트리밍이 무엇이고, Storm을 이용해서 어떻게 개발하는지에 대해서는 어느정도 이해를 했을 것이라고 생각한다.그러면 지금까지의 경험을 조금 더 체졔적으로 정리해서 Storm에 대해서 이해해보도록 하자. 이번에는 Storm에 대한 개념과 아키텍쳐 구조에 대해서 알아보겠다. Storm의 특징Storm을 실시간 스트리밍을 처리하기 위한 서버이자 프레임웍이다. 그렇다면 이 Storm이 다른 스트리밍 처..

Apache Storm을 이용한 실시간 데이타 처리 #3 -Storm 클러스터 설정과 배포

대충보는 Storm #3-Storm 싱글 클러스터 노드 설치 및 배포조대협(http://bcho.tistory.com) 지난번에는 간략하게, Storm을 이용한 HelloStorm 애플리케이션을 개발용 클러스터인 Local Cluster에서 구동해봤다. 이번에는 운영용 클러스터를 설정하고, 이 운영 클러스터에 지난번에 작성한 HelloStorm 토폴리지를 배포해보도록 한다. Storm 클러스터의 기본 구조Storm 클러스터를 기동하기 전에, 클러스터가 어떤 노드들로 구성이 되는지 먼저 알아보도록 하자 Storm 클러스터는 기본적으로 아래와 같은 3가지 구성요소로 구성이 되어 있다.먼저 주요 노드인 Nimbus와 Supervior 노드에 대해서 알아보자, Nimbus와 Supervisor 노드는 각각 하나..

Apache Storm을 이용한 실시간 데이타 처리 #2-Storm 설치와 HelloStorm 작성하기

대충보는 Storm #2-Storm 설치와 HelloStorm 작성하기조대협(http://bcho.tistory.com) Apache Storm과 Spark앞서 데이타 스트리밍 처리에 대해서 설명했다. 스트리밍 처리에 대표적인 오픈소스 프레임웍으로는 Apache Storm과 Apache Spark이 있는데ㅔ, Spark은 최근에 나온 것으로 스트리밍 처리뿐 만 아니라 조금 더 보편적인 분산 컴퓨팅을 지원하는데, Storm의 경우 나온지도 오래되었고 무엇보다 안정성 부분에서 아직까지는 Spark보다 우위에 있기 때문에, Storm을 중심으로 설명하고자 한다HelloStormStorm의 내부 구조 개념등을 설명하기에 앞서, 일단 깔아서 코드부터 돌려보고 개념을 잡아보자 HelloStorm 구조HelloWor..

Apache Storm을 이용한 실시간 데이타 처리#1-데이타 스트림 개념 이해하기

Storm을 이용한 실시간 데이타 처리 #1-데이타 스트림 개념 이해하기조대협(http://bcho.tistory.com) Apache Storm 은 실시간 데이타 처리를 위한 시스템이다.. 나온지는 꽤 오래됬지만 요즘 빅데이타와 실시간 분석과 함께 다시 화두가 되고 있는데, 이 Apache Storm에 대해서 알아보도록 하자. 스트리밍 처리에 대한 개념Storm을 이해하기 위해서는 먼저 데이타 스트리밍9(Data Streaming) 에 대한 개념을 이해 해야 한다. 비유를 하자면 데이타가 흘러가는 강(river)와 같은 의미라고나 할까?예를 들어보면, 트위터에서 생성되는 데이타 피드들은 일종의 데이타 스트림이다, 시간이 지나감에 따라서 끊임 없이 데이타 들이 생성된다. 또는 공장의 팬베이어 벨트의 센서..

빅데이타 팀을 이루기 위해서 필요한것 3가지

빅데이타 팀을 이루기 위해서 필요한것 3가지조대협(http://bcho.tistory.com) 요즘 모가 그렇게 바쁜지, 블로그 업데이트를 한참 못했습니다.모처럼 주말에 시간이 있어서, 그간 정리한번 해야지 했던 내용들을 올려봅니다.먼저 빅데이타 팀에 대한 이야기인데, 아래 그림은 빅데이타에서 유명한 그림입니다. 데이타 사이언티스트가 가져야할 그래프로 표현한것인데, 제가 해석하기에는 데이타 사이언티스트 보다는 빅데이타 팀이 가져야할 영역으로 보입니다. 각 영역별로 설명을 해보자면 1.Math & Statistics (수학과 통계학에 대한 지식)빅데이타 처리는 수학과 통계학적인 지식을 전제로 합니다. 데이타의 상관관계를 분석하거나 데이타의 특성을 파악하는 등의 기술은 수학 특히 통계학적인 지식을 필요로 합..

빅데이타 분석을 위한 람다 아키텍쳐 소개와 이해

람다 아키텍쳐의 소개와 해석조대협 (http://bcho.tistory.com) 람다 아키텍쳐란람다 아키텍쳐는 트위터에서 스트리밍 컴퓨팅에 있었던Nathan Marz에 의해서 소개된 아키텍쳐로, 실시간 분석을 지원하는 빅데이타 아키텍쳐이다.아키텍쳐에 대한 자세한 내용은 http://lambda-architecture.net/ 에 소개되어 있다. 문제의 정의아키텍쳐에 대한 이해를 돕기 위해서 예를 들어 설명해보자. 페이스북과 SNS 애플리케이션 SNS가 있다고 가정하자. 이 애플리케이션은 모바일 애플리케이션이며, 글쓰기, 읽기, 댓글 달기, 스크롤 하기, 페이지 넘기기등 약 1000여개의 사용자 이벤트가 있다고 가정하자. 사용자 수는 대략 1억명이며, 매일 이 각 사용자의 행동 패턴을 서버에 저장하여, 일..