[HADOOP] HDFS 파일 비교
HADOOPHDFS 파일 비교
diff가 없기 때문에 두 HDFS 파일을 어떻게 비교할 수 있습니까?
하이브 테이블을 사용하고 HDFS에서 데이터를로드 한 다음 2 개의 테이블에 조인 문을 사용하려고 생각했습니다. 더 좋은 접근 방법이 있습니까?
해결법
-
==============================
1.hadoop과 함께 제공되는 diff 명령은 없지만 실제로 diff 명령을 사용하여 쉘에서 리디렉션을 사용할 수 있습니다.
hadoop과 함께 제공되는 diff 명령은 없지만 실제로 diff 명령을 사용하여 쉘에서 리디렉션을 사용할 수 있습니다.
diff <(hadoop fs -cat /path/to/file) <(hadoop fs -cat /path/to/file2)
두 파일이 동일한 지 아닌지를 알고 싶다면 차이점을 알지 않고도 다른 체크섬 기반 방식을 제안합니다. 두 파일의 체크섬을 가져 와서 비교할 수 있습니다. Hadoop은 체크섬을 생성 할 필요가 없다고 생각합니다. 왜냐하면 Hadoop은 이미 저장되어 있으므로 빠르지 만 잘못된 것일 수 있습니다. 나는 거기에 명령 행 옵션이 있다고 생각하지 않지만 자바 API로 쉽게 이것을 할 수 있고 작은 앱을 만들 수있다.
FileSystem fs = FileSystem.get(conf); chksum1 = fs.getFileChecksum(new Path("/path/to/file")); chksum2 = fs.getFileChecksum(new Path("/path/to/file2")); return chksum1 == chksum2;
-
==============================
2.글쎄, 가장 간단한 대답은 아마도 :
글쎄, 가장 간단한 대답은 아마도 :
diff <(hadoop fs -cat file1) <(hadoop fs -cat file2)
로컬 컴퓨터에서 실행됩니다. 너무 느리다면 하이브 (Hive)와 MapReduce (MapReduce)로 뭔가를해야 할 것입니다.하지만 조금 까다 롭고 diff가하는 순서 비교 (in-order comparison)와 정확히 일치하지는 않습니다.
from https://stackoverflow.com/questions/14488779/hdfs-file-comparison by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] R + Hadoop : HDFS에서 CSV 파일을 읽고 mapreduce를 실행하는 방법은 무엇입니까? (0) | 2019.08.04 |
---|---|
[HADOOP] SOCKS 프록시를 통해 Hadoop을 사용하고 있습니까? (0) | 2019.08.04 |
[HADOOP] 하둡의 분산 캐시 수명 (0) | 2019.08.04 |
[HADOOP] 네임 노드 고 가용성 클라이언트 요청 (0) | 2019.08.04 |
[HADOOP] hadoop의 데이터 노드가 시작되지 않습니다. (0) | 2019.08.04 |