아래 링크에서 퍼옴
https://issues.apache.org/jira/browse/HADOOP-9066
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | //테스트케이스 작성시에 대충 이런것들이 필요하다. import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.util.ConcreteFileStatusAscComparable; import org.apache.hadoop.util.FileStatusTool; //Comparator의 인터페이스를 구현해 주면 됨. 아래에 인터페이스와 클래스 등 모아놔 봤다. public interface FileStatusComparable extends Comparator<FileStatus> { public int compare(FileStatus fileStatus1, FileStatus fileStatus2); } public class ConcreteFileStatusAscComparable implements FileStatusComparable { public int compare(FileStatus fileStatus1, FileStatus fileStatus2) { return fileStatus1.getPath().getName().compareTo(fileStatus2.getPath().getName()); } } public static void sortFileStatus(FileStatus[] inputFiles, FileStatusComparable fileStatusComparable) { Arrays.sort(inputFiles, fileStatusComparable); } |
1 2 3 4 5 6 7 8 9 10 11 | // 실제로는 이런식으로 그냥 몰아 놔 봤다. 이러케 구현하면 객체지향이 아니라고 하던데. 난 개념없다 ㅠ FileStatus[] status = ls(hdfsDirectory); //listStatus를 따로 함수로 빼 놨다. Arrays.sort(status, new Comparator() { public int compare(Object o1, Object o2) { String s1 = ((FileStatus) o1).getPath().getName(); String s2 = ((FileStatus) o2).getPath().getName(); return s1.compareTo(s2); } }); |
하둡 툴을 구현 중인데 ls치면 최소한 시스템에 들어있는 순서대로 가져올 줄 알았는데 아닌걸 보고 멘붕. 아마 콘솔에는 이름 순 혹은 생성된 날짜 순으로 뿌려주고 얘가 가져올 때는 뭐.. 또 다른 기준에 의해 혹은 랜덤으로 ???????????? 가져오나보다.
세 개의 파일을 가져오는데 콘솔에서 볼 때는 이름순으로 뿌려져 있는데 가져와 보니 2-1-3 뭐 이런 식으로 가져와서 깜놀했쟈냐.
'춤추는 프로그래머 > Big Data' 카테고리의 다른 글
flume-hdfs-sink / flume-hdfs-conf.properties (0) | 2013.12.18 |
---|---|
Hadoop에 저장된 파일 읽어오기 (ls, cat) (0) | 2013.12.18 |
ElasticSearch로 검색 Paging하기... (scan type) (0) | 2013.12.18 |
MongoDB 설치기 (0) | 2013.12.16 |
ElasticSearch에서 인덱스의 상태 정보 가져오기 (인덱스 사이즈, 문서 개수) (0) | 2013.07.10 |