나는 hadoop mapreduce 프레임 워크의 세계에 초보자입니다. 나는 많은 튜토리얼을 읽고 프레임 워크를 이해했다. 가상 배포 모드에서 hadoop 설정을 성공적으로 구성했습니다. Hadoop MapReduce에서 수행해야하는 두 가지 구체적인 작업이 있습니다.Hadoop MapReduce 생각
다음과 같은 형식의 많은 데이터 파일이 있습니다.
교환 된 메시지 수. user1; user2; 시간 스탬프;
예 : 5; 존 도우; 존 스미스; 1900 년 1 월 1 일; 무엇을 달성 할 싶습니다
는
는 사용자 이름에 데이터 마스킹 할 수있다 (그들은 익명되도록, 사용자 이름 위에 SHA256를 구축 같이합니다.)
- 이 수를 집계 일정 기간의 메시지 (예를 들어 일주)
우리가 내 질문에 오게 교환 : 내 현재의 지식에 따르면 을의 hadoop mapreduce 프레임 워크는 두 번째 작업을 수행하기위한 것입니다. 키 - 값 (메시지가 교환 된 사용자 이름과 메시지 수)을 매핑하고 특정 기간 (예 : 1 주) 동안 총 메시지 수를 줄이려면이를 줄일 수 있습니다. 그러나 첫 번째 작업은 어떻습니까? 데이터 마스킹을 할 때, 작업을 줄일 필요가 없습니다.이 작업은 hadoop mapreduce를위한 것이 아닙니다. 나는 그것을 병렬로하고 싶지만, 첫 번째 작업을 수행하기 위해 hadoop mapreduce를 적용하는 것을 정말로 생각할 수 없다. 처리해야하는 데이터 파일의 수는 실제로 많으므로, 어떻게해도 hadoop mapreduce를 사용하는 것이 좋습니다.
의견을 보내 주셔서 감사합니다.
P .: 질문은 "어떤 유형의 작업이 MapReduce에 가장 적합합니까?"로 일반화 할 수 있습니다.
변환을 수행 할 때 왜지도 파트를 할 수 없습니까? Map/Reduce의 Map 부분은 데이터 변환에도 사용할 수 있으므로 작업은 다음과 같습니다. Map -> Record to #; 인코딩 된 사용자 1; 인코딩 된 사용자 2; 날짜. Reduce를 사용하면 필요한 통계를 얻을 수 있습니다. – abatyuk
맞습니다.지도 부분 만 할 수 있습니다. 맵핑 부분 만 수행하고 마스크 된 레코드 파일을 HDFS에 다시 저장 한 다음 마스크 레코드의 맨 위에 축소 작업을 수행하기 위해 다시 읽는 것이 좋은 방법입니까? 주 메모리는 데이터 세트 전체를 보유 할 수 없습니다. – Bob
필자가 이해하는 한, 감속재는 매퍼가 자신의 작업을 수행 할 때까지 기다렸는데, 제 경우에는 모든 데이터 파일이 변형되어야한다는 것을 의미합니다. 당신이 생각하고있는 워크 플로우를 설명해 주시겠습니까? – Bob