지도를 작성하여 hdfs에있는 두 개의 큰 파일을 비교하십시오. 어떤 생각을 달성하는 방법. 또는 파일 크기가 매우 크기 때문에 비교할 다른 방법이 없다면 map-reduce를 사용하는 것이 이상적인 방법입니다. 도움 주셔서 감사합니다.hdfs에서 두 파일 비교
답변
2 단계로 수행 할 수 있습니다.
: 이제I am awesome
He is my best friend
는이 같은이 변환 :
초기 파일과 같은 말 :
- 먼저 텍스트 파일의 일부가 될 줄 번호를 만들
1,I am awesome 2,He is my best friend
MapReduce 작업 자체 나 다른 도구를 사용하면됩니다.
2. 매퍼에서 줄 번호를 키로, 실제 문장의 나머지 부분을 값으로내는 MapReduce 단계를 작성하십시오. 그런 다음 감속기에서 값을 비교하면됩니다. 일치하지 않을 때 줄 번호 (키)와 페이로드를 내 보냅니다. 여기서 원하는 것이 무엇이든간에. 또한
values
의 수가 1이면 또한 불일치입니다.편집 : 더 나은 접근 방식
더 나은 여전히 당신은 단지 키와 매퍼에서 한 번에 읽어 전체 라인을 방출하고 값을 숫자를 확인한다 무엇을 할 수 있는지, 그래서 내를 복용 1. 말 예를 들어 다음과 같이 위의 매퍼 출력은 다음과 같습니다이 2가 아닌 경우
< I am awesome,1 > < He is my best friend,1 >
그리고 감속기의
그냥 당신이 불일치를 가지고,values
의 수를 확인합니다.그러나이 접근법에는 하나의 포착이 있습니다. 두 개의 다른 위치에서 정확히 동일한 행이 발생할 가능성이있는 경우 감속기의 주어진 키에 대해
values
의 길이를 확인하는 대신 확인해야합니다 2의 배수.
하나의 가능한 해결책은 줄 번호를지도 작업에 카운트 할 수 있습니다. 두 개의 파일이 아래와 같이 있습니다
파일 1 : 은 내가 최고입니다 여기 --line 1 오전 - 3 호선
파일이 유사한 종류 - 2 호선 당신은 나의 가장 친한 친구 내가
이 파일 모두지도의 작업을 할 후에는 두 개의 레코드 (키, 값)이있는 동일> ... 2, 멋진 가지고 있어요 <처럼
지금지도 작업을 출력해야 감소시킬 값.줄일 때 카운터를 비교하거나 같이 출력을 생성 할 수 있습니다. 행이 다른 위치에 너무 많으면 출력은이 행이 일치하지 않음을 나타낼 수 있습니다.
파일과 키를 비교하는 솔루션이 있습니다.귀하의 ID가 고유하다는 것을 알고있는 경우 ID의 키를 맵에서 표시 할 수 있으며 전체 레코드는 가치가 있습니다. 파일에 ID가 있고 Line1이 mapper에서 키와 값으로 방출한다고 가정 해 봅시다.
셔플 및 정렬 단계에서 ID가 정렬되고 두 파일의 데이터가 포함 된 반복자가 생성됩니다. 즉, 동일한 ID를 가진 두 파일의 레코드가 같은 반복기에 저장됩니다.
그런 다음 감속기에서 반복기의 값을 비교하고 일치하는 경우 다음 레코드로 이동하십시오. 그렇지 않으면 일치하지 않으면 결과를 출력합니다.
나는 이것을했고 그것은 매력처럼 작동했습니다.
시나리오 - 일치하는 키가 없음 두 파일 사이에 일치하는 ID가 없으면 하나의 반복자 값만 있습니다.
시나리오 2 - 중복 키 파일에 중복 키가 있으면 이터레이터에 2 개 이상의 값이 있습니다.
참고 : 반복기에 값이 2 개만있는 경우에만 값을 비교해야합니다. ** 팁 : ** 반복기는 항상 값을 순서대로 가지지 않습니다. 특정 파일의 값을 확인하려면 매퍼에서 Line1; file1과 같은 줄 끝에 작은 표시기를 추가하십시오. Line1; file2 그러면 감속기에서 어떤 값이 어떤 매퍼에 속하는지 식별 할 수 있습니다.
- 1. HDFS에서 시퀀스 파일 추가
- 2. 두 Excel 파일 비교
- 3. 두 파일 비교
- 4. 두 xml 파일 비교
- 5. 두 바이너리 파일 비교
- 6. 두 오디오 파일 비교
- 7. Aptana와 두 파일 비교
- 8. 두 파일 비교
- 9. 두 xml 파일 비교
- 10. HDFS 파일 비교
- 11. 원격 HDFS에서 파일 읽기
- 12. HDFS에서 작은 파일 분쇄
- 13. HDFS에서 파일 전송
- 14. Java hdfs에서 파일 읽기
- 15. perl을 사용하여 두 파일 비교
- 16. 두 업로드 된 파일 비교
- 17. 두 mach-o 파일 비교
- 18. 두 파일 비교 Byte Byte
- 19. 두 개의 큰 파일 비교
- 20. HDFS에서 최대 파일 이름 크기
- 21. namenode -format hdfs에서 파일 삭제
- 22. HDFS에서 간단한 Avro 파일 읽기
- 23. Hadoop. HDFS에서 파일 생성에 관하여
- 24. HDFS에서 쉘 함수로 직접 파일 읽기
- 25. 차이점 비교를위한 두 Excel 파일 비교
- 26. 두 개의 XML 파일 구조 비교
- 27. 두 개 이상의 파일 버전 비교
- 28. 파이썬에서 두 개의 csv 파일 비교
- 29. perl md5를 사용하여 두 파일 비교
- 30. 두 개의 XML 파일 비교 Android
안녕하세요, Amar, 귀하의 회신에 감사드립니다. 하지만 내 파일에는 두 파일에 나타나는 항목 ID가 있습니다. 두 아이디가 같은지 비교해 볼 필요가 있습니다. – NewJavaBee
파일에 무엇이 있는지 상관하지 않습니다. 비교하면 이진 비교를 의미하는 것입니까? 파일에 '나는 굉장합니다'대신에 ID가있을 수 있습니다 (1234456565). – Amar
나는이 두 파일이 있다고 가정 해 보겠습니다. 파일 1에 ID : 1 ... .. ID : 2 ... 포함되어 있습니다. ID : 3 .... 파일 2 ID : 5 ... .. ID : 3. ID : 6 .... 이제 비교해보십시오. 먼저 두 파일의 ID를 비교해야합니다. 질서가 불평하지 않습니다. – NewJavaBee