2010-02-17 2 views
0

분산 맵 축소 프로그래밍 시스템을 사용하는 가장 쉬운 방법은 무엇입니까?분산 맵 축소 프로그래밍 시스템을 사용하는 가장 쉬운 방법은 무엇입니까?

예를 들면.

Map: 
for all records of type "user" 
do for each user 
    count number of connections 
    retrun connection_count_for_one_user 

Reduce: 
reduce (connection_count_for_one_user) 
    total_connections += connection_count_for_one_user 

이런 식으로 나에게 프로그램을 할 수있는 맵리 듀스 시스템이 있습니까 : 분산 데이터 저장소에 많은 연결과 각 많은 사용자를 포함하는, 내가 총 연결 수를 계산하고 싶었다라고?

+0

지금과 같이 질문이 이해가되지 않습니다. – leeeroy

+0

감사합니다. Leeroy. 나는 그것을 더 분명하게하려고 노력했다. 더 낫니? 또는 그것을 개선하기 위해 무엇을 할 수 있습니까? – Zubair

답변

2

글쎄, 몇 가지 제안을 할 때 찌르 겠지만, 당신의 질문은 너무 명확하지 않습니다.

데이터를 어떻게 저장하고 있습니까? 저장 메커니즘은 MapReduce 알고리즘을 데이터에 적용하는 방법과 별개입니다. 나는 당신이 Hadoop Distributed File System을 사용하고 있다고 가정 할 것입니다.

실제로 나타나는 문제는 일반적인 Hadoop MapReduce word count example과 매우 비슷합니다. 단어 대신 사용자를 대신 계산합니다.

HDFS에 저장된 데이터에 맵리 듀스를 적용하는 당신이 가지고있는 옵션 중 일부

은 다음과 같습니다

  • Java framework - 자바 편안 좋은 경우.
  • Pig - 고급 스크립팅 언어
  • Hive - SQL과 같은 인터페이스를 제공하는 Hadoop 용 데이터웨어 하우징 솔루션.
  • Hadoop streaming - 매퍼와 리듀서를 거의 모든 언어로 작성할 수 있습니다.

가장 쉬운 것은 어느 것입니까?

여러분 모두 편안함에 따라 다릅니다. Java가 표준 Java 프레임 워크를 살펴 본다면. 스크립팅 언어에 익숙하다면 돼지 또는 스트리밍을 사용할 수 있습니다. SQL을 알고 있다면 Hive QL을 사용하여 HDFS를 쿼리 할 수 ​​있습니다. 나는 각각의 문서를 출발점으로 생각할 것이다.

+0

좋아, 고마워, 내가 이것들을 한번 보자. – Zubair

+0

하이브와 돼지는 유망 해 보인다! – Zubair

관련 문제