[HADOOP] Hadoop 작업을 만들기 위해 mapred 또는 mapreduce 패키지를 사용하는 것이 더 좋습니까?
HADOOPHadoop 작업을 만들기 위해 mapred 또는 mapreduce 패키지를 사용하는 것이 더 좋습니까?
MapReduce 작업을 만들려면 이전 org.apache.hadoop.mapred 패키지 또는 매퍼 및 이퀄라이저, 작업에 대한 최신 org.apache.hadoop.mapreduce 패키지 중 하나를 사용할 수 있습니다 ... 첫 번째 것은 사용되지 않음으로 표시되었지만 되돌릴 수 있습니다. 그 동안에. 이제는 이전 맵핑 된 패키지 또는 새로운 mapreduce 패키지를 사용하여 작업을 작성하는 것이 더 나은지 그 이유가 궁금합니다. 또는 이전 매핑 된 패키지에서만 사용할 수있는 MultipleTextOutputFormat과 같은 요소가 필요한지 여부에 따라 다릅니다.
해결법
-
==============================
1.기존 API (o.a.h.mapred)와 새 API (o.a.h.mapreduce) 간에는 큰 차이가 없습니다. 유일한 중요한 차이점은 레코드가 이전 API의 매퍼 / 축소기에 푸시된다는 점입니다. 새로운 API는 pull / push 메커니즘을 모두 지원합니다. 당기기 메커니즘에 대한 자세한 정보는 여기에서 얻을 수 있습니다.
기존 API (o.a.h.mapred)와 새 API (o.a.h.mapreduce) 간에는 큰 차이가 없습니다. 유일한 중요한 차이점은 레코드가 이전 API의 매퍼 / 축소기에 푸시된다는 점입니다. 새로운 API는 pull / push 메커니즘을 모두 지원합니다. 당기기 메커니즘에 대한 자세한 정보는 여기에서 얻을 수 있습니다.
또한 이전 API는 0.21 이후 비 사용 중단되었습니다. 새 API에 대한 자세한 내용은 여기를 참조하십시오.
앞에서 언급 한 이유 때문에 이전 API에 충실하는 것이 좋습니다 (MultipleTextOutputFormat과 같은) 클래스 중 일부는 새 API로 마이그레이션되지 않았다고 언급했듯이 (번역은 대개 간단합니다).
-
==============================
2.이전 API와 새 API 모두 좋습니다. 새로운 API는 더 깨끗합니다. 가능한 한 새로운 API를 사용하고 새 API에없는 특정 클래스 (예 : MultipleTextOutputFormat)가 필요할 때마다 이전 API를 사용하십시오.
이전 API와 새 API 모두 좋습니다. 새로운 API는 더 깨끗합니다. 가능한 한 새로운 API를 사용하고 새 API에없는 특정 클래스 (예 : MultipleTextOutputFormat)가 필요할 때마다 이전 API를 사용하십시오.
그러나 동일한 Mapreduce 작업에서 이전 API와 새로운 API를 혼용하지 않도록주의하십시오. 이상한 문제가 생깁니다.
-
==============================
3.이전 API (매핑 됨)
이전 API (매핑 됨)
새로운 API (mapreduce)
from https://stackoverflow.com/questions/7598422/is-it-better-to-use-the-mapred-or-the-mapreduce-package-to-create-a-hadoop-job by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop에서 작업을 줄이는시기는 언제 시작합니까? (0) | 2019.05.28 |
---|---|
[HADOOP] Spark에서지도 작업의 ID를 얻는 방법? (0) | 2019.05.28 |
[HADOOP] 손상된 HDFS 파일을 수정하는 방법 (0) | 2019.05.28 |
[HADOOP] Hadoop에서 여러 MapReduce 작업 체인화 (0) | 2019.05.28 |
[HADOOP] hadoop map 보조 정렬 줄이기 (0) | 2019.05.28 |