2011-10-19 7 views
13

Hadoop에 의존하지 않고 Apache mahout을 사용할 수 있습니까?hadoop 의존성없이 apahmahout을 사용할 수 있습니까?

자바 프로젝트 내에서 mahout 라이브러리 만 포함하여 단일 컴퓨터에서 mahout 알고리즘을 사용하고 싶습니다. 어쨌든 하나의 노드에서 실행되기 때문에 hadoop을 사용하고 싶지 않습니다.

그럴 수 있습니까?

답변

11

예. Mahout의 모든 것이 Hadoop에 의존하는 것은 아닙니다. 물론 Hadoop에 의존하는 조각을 사용한다면 Hadoop이 필요합니다. 하지만 예를 들어 Hadoop을 사용하지 않는 실질적인 추천 엔진 코드베이스가 있습니다.

로컬 Hadoop 클러스터/작업자를 Java 프로그램에 임베드 할 수 있습니다.

+0

두싯 0.10이 단지 더 이상 가능하지 않는 것 같습니다. 나는 KMeans 또는 FuzzyKMeans 알고리즘을 사용하려고 시도하고 있으며 Hadoop에 완전히 묶여있는 것처럼 보입니다. 내가 원하는 것은 2D (lat/longs 실제로) 데이터 포인트를 클러스터링하고 hadoop 파일 시스템에 의지해야만하는 일회성 작업이 매우 비효율적 인 것처럼 보입니다. – crowmagnumb

11

확실히 그렇습니다. Mahout Recommender First-Timer FAQ에서 그들은 Hadoop 기반 구현으로 시작하는 것을 권장하지 않습니다. (당신이 상대적으로 빠르게 1 억 이상의 사용자 선호도를 조정할 것이라는 것을 안다면).

비교적 쉽게 순수한 Java 형식으로 Recommender interface의 구현을 사용할 수 있습니다. 또는 원하는 서블릿에 하나를 배치하십시오.

기술적으로 Mahout 은 Hadoop에 대한 Maven 종속성이입니다. 그러나 Hadoop JAR 없이도 권장 사항을 쉽게 사용할 수 있습니다. 이는 Mahout 실전의 처음 몇 장에서 설명합니다. sample source code을 다운로드하고 완료 방법을 확인하십시오. RecommenderIntro.java 파일을보십시오. 당신은 메이븐을 사용하는 경우

그러나 수동으로 하둡을 제외해야 - 의존성은 다음과 같이 보일 것이다 :

<dependency> 
     <groupId>org.apache.mahout</groupId> 
     <artifactId>mahout-core</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.apache.hadoop</groupId> 
       <artifactId>hadoop-core</artifactId> 
      </exclusion> 
     </exclusions> 
</dependency> 
+1

답변에 언급 된 링크는 읽을 수있는 기사로 연결되지 않습니다. [Mahout Recommender First-Timer FAQ] (https://cwiki.apache.org/MAHOUT/recommender-first-timer-faq.html) 저에게 보여 주실 수 있습니까? –