하둡과 기타소프트웨어 다운로드를

빅데이터공부하기 34번째글에서

알아보도록하겠습니다.

 

눈 크게뜨시고 공부 시작하겠습니다. ^^

 

 

우선 설치환경부터 볼께요.

 

설치환경

우분투 환경의 리눅스 서버를 사용

 

사실 맥이나 다른 환경의 리눅스 서버도

문제 없으나 윈도우 환경의 경우 cygwin설치가 필요

-VM 매니저 설치 후 우분투 VM을 설치하고 우분투를 설치하는 것을 추천

 

설치 소프트웨어

아파치 하둡 1.0.3(1.1.x도 무방)

 

자바 1.6(JRE, JDK)

 

메이븐(Maven) 2이상

- 예제프로그램 컴파일에 필요

 

ssh, ssh-keygen

-password-less 로그인을 위해 필요

 

 

다음시간에도 계속공부할께요 ^^

 

지난글에이어 이번 빅데이터공부하기도

하둡클러스터에 대해서 공부하겠습니다. ^^

 

 

 

EBay 하둡 클러스터 구성예

 

2012년 6월 Hadoop Summit에서 발표

노드수 : 532대 - 1008대

총 스토리지크기 : 5- 18PB

네트웍 스위치 : 1Gbps and uplink 40Gbps

서버스펙

- Cent OS 4 64 bit

- Intel Dual Hex Core Xeon 2.4Hz

- 72GB RAM

- 2*12TB HDD(24TB)

- SSK for OS

 

Facebook 하둡 클러스터 구성 예

 

2010년 5월 자료

노드수 : 2000대

총 스토리지크기 : 21PB

네트웍 스위치 : 1Gbps and uplink 40Gbps

서버스펙

- Cen OS 4 64 bit

- 8 core 서버 : 1200대, 16 core 서버:800대.

- 32GB RAM

- 12TB HDD

 

 

 

 

이번 빅데이터공부하기 33번째글은 하둡클러스터에 대해 공부하겠습니다.

오늘부터 계속 비소식이 있네요.. 다들 우산 준비해서 다니세요.^^

 

 

하둡클러스터 구성 (2009년)

 

 

 

Commodity hardware

Linux PCs with local 4 disks

Typically in 2 level architecture

40 nodes/rack

Uplink from rack is 8 gigabit

Rack-internal is 1 gigabit all-to-all

 

 

다음공부도 클러스터에 대해서 공부하겠습니다. ^^

빅데이터공부하기 32-1 MapReduce

 

지난시간글은 MapReduce 프로그래밍에 대해서 간단하게 소개를 했는데요.

이번 빅데이터공부하기 글은 MapReduce 사용 적합분야와

사용 부적합분야에 대해서 알아보겠습니다.

 

 

MapReduce 사용적합분야

 

 병렬도가 높은 Jobs(no dependency)

- File Format conversion, Text Grep, Web Cramling, ...

 

로그분석

- Search Log

 

 

머신 러닝, 데이터 마이닝

- Recommendation Engine

 

- Model Building

Search Ranking, Document Classifier, ...

 

- ETL(Extrant, Tranform and Load)

 

MapReduce 사용 부적합 분야

 

리얼타임 데이터 처리

- 데이터 스트립을 리얼타임으로 처리해주는 Realtime Analytics

 

리얼타임 데이터 액세스

- 하둡이 처리한 데이터는 리얼타임으로 외부에서 액세스 불가

-> HBase!

 

많은 Iteration이 필요한 작업들

- 그래프 프로세싱

 

 

 

빅데이터공부하기 32번째글입니다.

와.. 벌써 그렇게 되었다늬..^---^

(혼자감탄중 ㅋㅋ)

 

32번째글은 Map Reduce프로그래밍에 대해서 공부할거에요.

 

 

그전에 Tom White의 "Hadoop Definite Guide"를 보시고 가죠..

 

본격적으로 빅데이터하둡공부하기 씌작!!

 

MapReduce프로그래밍

 

- 기본적으로 자바

 

- Hive / Pig등의 하이레벨 언어

* UDF 등으로 확장가능

작업성격에 따라 프로그래밍이 훨씬 간편하지만 느림

 

- Streaming(stdin/stdout)

* Python, Perl, shell, ruby, ...

* 자바에 비해 20%정도 느림

 

-Pipe(C++)

* 소켓을 입출력으로 사용하는 모델

 

다음글에서는 MapReduce사용적합분야와 부적합분야에 대해서

공부하겠습니다. ^^

 

빅데이터공부하기 31-2 WordCount 의사코드

 

지난글에 이어서 WordCount의사코드에 대해 공부하겠습니다.

 

빅데이터공부는 ORACLEJAVA IT공부하자에서 하세요 ^--^

 

 

WordCount의사코드

 

public static class Map extends Mapper<LongWritable, Text, Text, LongWritable>                                             1                        2

{

private final static LongWriable one = new LongWriable(1);

private Text word = new Text();

                    3

 

public void map(LongWriable key, Text value, Context context)

throws IOException, InterruptedException

{

String Iine = value.toString();

String Tokenizer tokenizer = new String Tokenizer(line, " , "\t\r\n\f |,.\"");

while (tokenizer.hasMore Tokens())

{

word set(tokenizer.nextToken().toLowerCase());

context.wrie(word, one);          4

}

}

 

 

1. 입력레코드의 키, 밸류 타입은 인풋포맷이 결정하며 앞서 main에서 보면 TextlnputFormat을 사용. LongWritable, Text등은 자바의 Long과 String 타입의 하둡용 랩퍼.

 

2. 출력레코드의 키, 밸류 타입은 Text, LongWriable인 데 이건 프레임웍에 의해 소팅, 셔플링이 된다음에 reducer로 넘어간다.

 

3. map 메소드내에서 사용할 변수를 두개 미리 만들어둔다.

 

4. map 메소드는 밸류로 넘어온 텍스트 파일의 라인을 String Tokenizer 클래스를 이용해 파싱한 다음 각 단어들을 하나씩 프레임웍으로 넘긴다.

(키는 단어, 밸류는 1)

 

 

빅데이터공부하기 31-2 WordCount 의사코드

C#공부하기 27-5 데이터갱신,삭제

 

C#공부하기 지난시간에는 데이터 추가에대해서 잠깐 공부했었는데요 ^^

이번글은 기존 데이터를 갱신하는 방법과 데이터 삭제에 대해서 다뤄보겠습니다.

 

 

 

 

기존의 데이터를 갱신하는 방법

 

데이터를 취득해서 단순히 모델을 수정하는 것으로 갱신이 가능하다.

 

쿼리식을 이용한 방법

Author a =

(from x in db.Authorwhere x.Name =="고행석"select x)

.Single();

 

메서드 방식

Author a = db.Author.Single(x=>x.Name =="고행석")

 

갱신벙법

a.Birthday= new DataTime(1952, 1,1);

a.Url =" http://www.daum.net ";

db.SubmitChanges();

 

 

데이터 삭제

 

Author a = db.Author.Single(x => x.Name == "고행석");

db.Author.DeleteOnSubmit(a);

db.SubmitChanges();

 

 

여기까지 !! 다음 C#공부에서도 열씸히 공부하기!!!><

 

 

C#공부하기 27-4 LINQ to SQL

 

LINQ to SQL - C#공부하기 4번째 글입니다. ^^

 

아침은 날씨가 선선하니 벌써 가을이 온것같은데요..

그래도 아직 낮은 여름이죠 ㅠ

이렇게 날씨좋은날 ... 오늘하루 여러분의 마음도

활짝이였으면 합니다. ^^

 

 

 

LINQ to SQL을 연결한 결과 자동생성되는 클래스

 

- BookDataContext : DataContext클래스

- Author : Authors테이블에 매핑되는 클래스

- Series : Series테이블에 매핑되는 클래스

- Publisher : Publishers테이블에 매핑되는 클래스

- Book : Books 테이블에 매핑되는 클래스

 

 

데이터추가

 

새로운 모델을 생성해서 모델에 미리 생성되어 있는 static 메서드인 InsertOnSubmit을 이용하여 파라미터로 전달하면 된다.

 

주의 : 단순히 InsertOnSubmit한다고 실제 DB에 반영되는 것은 아니다.

DataContext의 SubmitChanges메서드를 호출해야한다.

 

ex)

var db= new BookDataContext(ConnectionString);

Author a = new Author();

a.Name="고행석";

db.Author.InsertOnSubmit(a);

db.SubmitChanges();

 

 

다음시간에는 데이터 갱신방법과 삭제해대해 공부할께요 ^^

 

 

 

+ Recent posts