[edit]
업로드 #
Windows의 파일을 HDFS로 업로드
curl -i -X PUT -L -T "c:\temp\list.txt" "http://webhdfs:50070/webhdfs/v1/user/hive/warehouse/gamelog/list.txt?op=CREATE&user.name=hdfs&overwrite=true"
[edit]
상황1 #
cluster1에는 1시간마다 파일명을 바꾸어 가면서 데이터가 쌓인다.
webhdfs를 이용하여 10분마다 추가된 데이터를 가져오고 싶다.
webhdfs를 이용하여 10분마다 추가된 데이터를 가져오고 싶다.
hdfs에 /tmp/test.txt의 t1 시점의 데이터
{"id":1,"nm":"aaa"}
{"id":2,"nm":"aaaa"}
{"id":3,"nm":"aaaaa"}
{"id":4,"nm":"aaaa"}
{"id":5,"nm":"aaaaa"}
{"id":6,"nm":"aaa"}
{"id":7,"nm":"aaa"}
{"id":8,"nm":"aa"}
{"id":9,"nm":"a"}
{"id":10,"nm":"aa"}
t1 시점에는 203 byte였다.hdfs에 /tmp/test.txt의 t2 시점의 데이터
{"id":1,"nm":"aaa"}
{"id":2,"nm":"aaaa"}
{"id":3,"nm":"aaaaa"}
{"id":4,"nm":"aaaa"}
{"id":5,"nm":"aaaaa"}
{"id":6,"nm":"aaa"}
{"id":7,"nm":"aaa"}
{"id":8,"nm":"aa"}
{"id":9,"nm":"a"}
{"id":10,"nm":"aa"}
{"id":11,"nm":"aa"} ---> 여기부터 추가되었다.
{"id":12,"nm":"aa"}
{"id":13,"nm":"aa"}
solution
offset을 사용하면 된다.
offset을 사용하면 된다.
t1 시점
wget "http://192.168.0.10:50070/webhdfs/v1/tmp/test.txt?op=OPEN&offset=0" -O test1.txt
t2 시점
wget "http://192.168.0.10:50070/webhdfs/v1/tmp/test.txt?op=OPEN&offset=204" -O test2.txt
hadoop metadata가 정확해야 한다.
댓글 없음:
댓글 쓰기