C#공부하기 26-1 Group by

 

벌써 금요일!!! 뚜둥 !! 한주한주가 정말 빠르네요 ㅠㅠ

이번공부하기는 Group by에 대해서 공부할거에요 !!

지난글도 같이 올립니다 ^-^

 

Group By

 

GroupBy연산자는 (그룹화 연산자: grpuping)는 키를 지정하여 값이 동일한 것을 그룹화하는 것이다.

var b=

from p in a2

group p.W by p.X;

 

foreach (var p in b)

{

Comsole.Write("{0} -> (",p.Key);

foreach(var q in p)

{

Console.Write("{0}",q);

}

Console.Write(")\n");

}

지난시간까지 공부하였던거구요.

이번 글은 아래부터에요  ^-^

 

var b= a2.GroupBy(p => p.X, p=> p.W);

 

var b=

from p in a

join q in a2 on p.X equals q.X into r

select new {p.X, p.Y, SumW=r.Sum(q=>q.W)}

 

foreach (var p in b)

Console.Write("{0}\n, p")

 

 

 

C#공부하기 26-1 Group by

 

빅데이터 공부하기 31 ◆ WordCount 의사코

 

이번글은 WordCount의사코드에 대해서 공부하겠습니다.

 

빅데이터공부하기 31번째글~~

 

 

WordCount 의사코드

 

Map(key, value)

- value a line oftext

* Tokenize value

* For each token

- emit(token, 1)

 

Reduce(key, list(values))

- key a word

- values a list of count(1)

* lterate values and sum them up

* emil(key,sum)

 

 

 

 

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

 

C#공부하기 26 ○ Join & OrderBy ● GroupBy ○

 

 

Join & OrderBy

 

from p in a

join q in a2 on p.X equals q.X

 

 

OrderBy

 

var b=

from p in a    orderby p.X, p.Y descending, p.Z ascending

select p;

 


신나2

GroupBy

 

GroupBy연산자는(그룹화 연산자:grouping)는 키를 지정하여 값이 동일한 것을 그룹화하는 것이다.

var b=

from p in a2

group p.W by p.X

 

foreach(var p in b)

{

Console.Write("{0}->(",p.Key);

foreach(var q in p)

{

Console.Write("{0}", q);

}

 Console.Write(")\n");

}

 

 

C#공부하기 26 ○ Join & OrderBy ● GroupBy ○

 

 

C#공부하기 24 ★ Select구 / Where구★

 

Select구와 Where구를 C#공부하기24번째글에서 공부하겠습니다. ^^

날은 많이 흐리지만 마음은 밝았으면 좋겠어요 ^--^

 

 

Select구

 

varb =    

from p in a

select p.X;        // x만 추출


foreach(var p in b)

{

Console.Write("{0}, p")

}

 

 

var b= a.Select(p => p.X);

 


 

Where구

 

Where연산자는 제한(restriction)을 주는 연산자이다.

var b=

from p in a

where p.X>2 // 이 조건에 만족하는 것만 조회된다.

select p;

 

foreach(var p in b)

{

Console.Write("{0}\n", p)

}

 

 

C#공부하기 24 ★ Select구 / Where구★

 

C#공부하기 24-3 From구/ 메서드교환법칙

 

이번글은 C#공부하기 !!

지금 C#은 LINQ에 대해서 공부하고 있습니다. 이번글은 From구와 메서드 교환법칙에 대해서 공부를 해볼텐데요.

지금 태풍이 또 북상하고 있다고합니다. 우리나라에 피해가 없었으면 합니다. ㅠㅠ

 

그럼 C#공부하기 출발!!

 

From구

 

from구-> LINQ는 from구로 시작합니다.

 

var b=

from p in a

selet p.X;

 

여기서 p는 컬렉션 변수라고 생각하면 됩니다.

메서드호출 형식으로 변환

var b= a.Select(p=>p.x);

 

* a,b,p는 임의의 이름입니다.

 


 

 

 

메서드 교환 법칙

 

var b=    

form p in a                  =>         a

where p.Y<12             =>        .Where(p => p.Y <12)

select p.x;                  =>        .Select(p ==> p.X)

 

 

C#공부하기 24-3 From구/ 메서드교환법칙

 

빅데이터 공부하기 30 ◆ Scheduler

 

빅데이터 공부하기 30번째 글입니다.  오늘 밖에는 굉장히 더운데요. ㅠㅠ 지금 수박이 무지생각나네요..

다들 더위 조심하시구요.. 감기도 조심하세요..(여름감기가 더 지독한것같아요..)

 

Scheduler

 

- 기본적으로 MapReduce 프레임웍은 FIFO 스케쥴링을 지원

* Job제출시 job의 우선순위를 지정해줄 수 있지만 실행중인 job의

   pre-emption은 불가

* Job하나가 전체 클러스터의 리소스를 독점가능

 

- Capacity스케쥴러

* 야후에서 만든 스케쥴러 여러큐를 만들어 큐별로 쿼터 제공

 

- Fair 스케쥴러

* 페이스북에서 만든 스케쥴러. 사용자별로 쿼터 제공

 

- 스케쥴러는 플러그인 형태라 커스텀 스케쥴러의 개발이 용이

 

 

 

 

빅데이터 공부하기 30 ◆ Scheduler

 

빅데이터공부하기 29-2 ★ Job & Tasks

 

빅데이터공부하기 Job & Tasks에 대해 공부하겠습니다. ^^

 

Job & Tasks

 

- 보통 사용자가 실행하고자 하는 MapReduce프로그램을 칭함

   Job Tracker가 관리

- 보통 Job은 하나이상의 mapper와 하나이상의 reducer로 구성되며 이 mapper

   들과 reducer들을 task라고 부름.

* 각각의 task는 Task Tracker에 의해 관리되며 각 task는 별개의 JVM에서

   실행.

* 실패한 task는 Job Tracker에 의해 다른 노드에서 재시도됨.

* Speculative Excution : Job Tracker는 다른 태스크들이 실행이 현저하게 느린

   태스크들을 proactively하게 다른 TaskTracker들에서 중복실행하게 할 수

   있음. mapred-site.xml의 mapred.map.tasks.speculative.execution 피라미터

   로 조절

- 하나이상의 Job들이 엮어서 실제로 원하는 일을 수행하게 되는 경우가 대부분

   (Hadoop Job Chaining). 이러한 웍플로우 관리가 굉장히 중요(Cascading Ooaie

    등등..)

 

 

빅데이터공부하기 29-2 ★ Job & Tasks

 

빅데이터공부하기 29-1 ▶ Job Tracker

 

지난글에 이어 빅데이터공부하기 29번째 -1 Job Tracker에 대해서 공부하겠습니다. ^^

 

포항 불빛축제가 오늘부터 시작이래요!!!

다들 한번 알아보세요 ^-^ 저는... 갈수없지만 여러분들이라도 가셔서 보고오시면 좋겠어요..

 

저는 그럼 Job Tracker을 이어서 공부하겠습니다.

 

Job Tracker

 

- Task Tracker는 주기적으로 Job Tracker에 상태보고 (heartbeat)를 함

- "나 살아있소"

- 실행중인 태스크의 상태 (카운터 정보 포함)

* mapper의 경우 이는 입력 레코드들의 처리 퍼센트를 알림

* reducer의 경우 조금 더 복잡

- 셔플링이 끝나면 33%

- 소팅이 끝나면 66%

- 그 이후부터는 reducer의 입력 레코드 처리 퍼센트

* 0.34+66%

- 놀고있는 태스크 슬롯의 유무

- 만일 heartbeat이 지정된 시간동안 안 오면 해당 서버는 죽은 것으로 간주되고 그 서버에서 돌던 태스크들은 다른 Task Tracker에서 재수행된다.

 

 

빅데이터공부하기 29-1 ▶ Job Tracker

+ Recent posts