2013-07-29 3 views
2

MapReduce 작업 (예 : 단어 수)을 수행하는 Java 프로그램을 작성하고 싶습니다. 입력은 Redis에서 왔습니다. Redis에서 하나씩 검색하고 Map 클래스에서 일부 작업을 수행하기 위해 Map 클래스를 작성하려면 어떻게해야합니까? 이전에 HDFS에서 읽은 것처럼 했습니까?MapReduce Redis에서 입력 읽기

답변

2

우리가 할 수있는 OOTB 기능은 없습니다. 그러나 Jedis과 같은 것들이 도움이 될 것입니다. Jedis는 Redis와의 /에서 데이터를 읽고 쓸 수있는 Java 클라이언트입니다. 예를 들어 this을 참조하십시오.

Java에 강하게 결합되어 있지 않은 경우 R3도 유용 할 수 있습니다. R3는 Redis 백엔드를 사용하여 파이썬으로 작성된 맵 축소 엔진입니다.

HTH

+0

흠 ... 너무 복잡해 보입니다. Redis (Jedis 사용)에서 세트를 읽고 값으로 Mapper 클래스를 구문 분석하는 방법이 있습니까? – user2597504

+0

제 지식은 없습니다. 당신은 아마 전문가들이 내가 레디 스에별로 관심이 없기 때문에 더 많은 시간을 기다릴 수 있습니다. – Tariq

+0

확인해 주셔서 감사합니다. – user2597504

0

키를 HDFS에 넣으십시오. map()에서 redis의 쿼리는 입력 키를 기반으로합니다.

+0

이렇게하면 데이터를 메모리에 저장하는 이점이 없어집니다. – MasterScrat

1

분명히 InputFormat을 사용자 정의해야합니다. 사용자 정의 InputFormat 및 RecordReader를 작성하는 방법은 this 자습서를 읽으십시오.

0

시도해보십시오. Redisson Java 용 Redis 기반 인 메모리 데이터 그리드입니다. Redis에 저장된 데이터에 대해 Map Reduce를 실행할 수 있습니다.

자세한 내용 here.