#title WebHDFS ==== 업로드 ==== 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" }}} ==== 상황1 ==== cluster1에는 1시간마다 파일명을 바꾸어 가면서 데이터가 쌓인다. 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을 사용하면 된다. 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가 정확해야 한다.