본문 바로가기

mapreduce

(11)
HDFS NFS gateway 사용법 하둡 2버전은 잘모르겠지만. 1버전을 이용할때는 리눅스에서 HDFS에 직접 마운트를 해서 사용하고 싶을때가 있었습니다. 그떄 fuse-dfs를 이용해서 마운트 했는데, 2버전때 없어졌나 했는데.. 제가 HDP(Hortonworks Data Platform)을 이용해서 그런지 잘 안보였던것 같더군요.. cloudera에는 fuse-dfs가 그대로 있던것 같았습니다. 홈페이지에서 보기에는 http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.4/bk_hdfs_nfs_gateway/content/hdfs-nfs-gateway-user-guide.html 다른 배포판은 모르겠지만.. 아파치 하둡1을 이용할때는,, fuse-dfs를 사용하기 위해 관련 라이브러리 설치하고..
파이썬으로 병렬처리 하기 3 마지막장 (Parallel Python) 오늘 심각한 고민을 했습니다 ... 자바는 그냥 갔다 버려야되나.. Parallel Python 이거 써보고 할말을 잃었습니다. 생각보다 너무 쉽고. Parallel Python을 사용하기 위해서는 대략 다음 절차를 수행하시면 됩니다. 연산을 하려는 노드, Master노드에 Parallel Python 설치(http://www.parallelpython.com/) [현재 저같은경우 Python 2.7을 사용하고 있습니다.] 그다음 연산하려는 모든 노드에서 네트웍 대역이 같다면, ppserver.py -a (이 의미는 실제 코드 설명할때 설명0 그리고 마스터 노드에서 병렬처리할 코드를 작업하시면 됩니다. 큰틀은 다음과 같습니다. 가장 중요한 부분은 ppserver= ppservers=("*",) 입니다. ..
파이썬으로 병렬처리 하기 2 (Parallel Python) 잠깐동안 예제를 따라해보면서 해본 느낌은.. 잘 모르겠지만 엄청 간단합니다. 먼저 Parallel Python에서 http://www.parallelpython.com/content/view/18/32/ 에서 다운 받아서, pp를 다운받아서, 돌아갈 머신과 마스터 노드에 python setup.py install 하면 끝.. 그리고 사용방법은 계산노드(slave)에서 ppserver.py -a(auto discovery) 하면 끝.. 물론 포트를 지정해 준다면 -p 옵션을 사용하면됩니다. 그런다음 마스터 노드에서 다음과 같은 방법으로 하면됩니다. (지금 같은경우는 1master node, 1slave node로 구성된 케이스) import sys,thread import pp class myTest: d..
파이썬으로 병렬처리 하기 1 (Parallel Python) 몇가지 처리해야할 작업이 있습니다. 몇 가지 케이스에 대해 계속 테스트를 해보고 있지만. 이걸 Hadoop MapReduce로 처리하는것은 정말 성능이 안나오더군요. 흔히 말한는 반복적인 작업... 이걸 Storm, 또는 Spark를 통해 해결해 보고 싶지만. 현재 사정상 신규아키텍처를 도입하는데 문제가 있어서... 물론,,, 현재 환경은 HDP(Hortonworks Data Platform)2.3 이기 때문에, 설치하거나 실행하는데, 문제는 아닙니다. Storm 같은경우 Topology를 만들면 되겠지만.. 약간 제가 생각하는 작업에는 불리할것 같고.. Spark쪽은 아직 제가 지식이 부족해서 시간대비 성과가 부족할것 같은 생각 때문입니다. 물론, 전 아직까지는 언어중에 Java가 좋지만, 요즘 왠만한..
MySQl Memory DB Table is Full 환경은 Cetnos 64bit 30GBRAM, MySQL 5.7 버전을 사용하고 있습니다. 많은 텍스트들을 보면 Hadoop MapReduce에서 반복적인 작업은 지양하라고 되어있는데, 현재, 싱글 머신에서 돌리기에는 양이 너무 많아서(쓰레드를 붙이더라도)... MapReduce에 약간의 꼼수를 써서 포팅해서 사용하고 있습니다. 현재 10개의 Hadoop Node에서 총 40개의 Task(MapReduce) 걸었습니다. Map 작업 한번에 총 약 12개 정도의 쿼리를 날립니다. 사실 이 쿼리가 단일 머신에서 할때는 0.55ms 정도 나오는데 10Node로 동시에 Query를 날리니 9s 넘게 걸리더군요.. 물론 제가 쿼리를 엉망으로 만든것은 있습니다. 이러한 문제점을 해결하기 위해, 쿼리에 사용되는 Ta..
Hive를 이용해서 Rank 구하기 일단 현재 상황은 MySQL 안에 366996 로우가 들어있는 상황이고, 여기안에 데이터가 있는 상황입니다여기에 데이터가 있는데, 랭킹을 매겨야 하는 상황입니다. select B,T,(select count(*)+1 from 9_Spending_blk where T>t.T) as rank from a_blk as t order by rank asc; SELECT a.B, a.T, count(b.T)+1 as rankFROM 9 a left join 9 b on a.T>b.T and a.B=b.Bgroup by a.B, a.T 통해서 RANK를 구하려고 했는데, 생각보다 느리게 되더군요.... MySQL로 구하는거 포기하고HIVE로 옮긴다음 해봤더니 금방 구할수 있었습니다. 절차는 다음과 같습니다. sqo..
R 프로그래밍 몇일간 R에 대해서 수업 들으면서 느낀것.. 빅데이터 분석으로 R은 만능은 아님(R자체가 데이터를 메모리에 로드해서 사용하기 때문에 만약 컴퓨터가 가진 메모리보다 데이터가 크다면..?) --> 이래서 데이터를 읽어올때 한줄씩 읽어오는 방법도 사용 --> 때에 따라서는 전처리 단계 필요, 또 R이 오픈소스 이다보니까, R에서 전처리 단계에서 속도가 느려서 이를 개선한 Revolution R(현재 7버전) 이라는게 있음,,(유료인가..?..) 또는 하둡을 이용해서 해결, Rhive, Rhadoop, 등등 ++ Java에서 R호출가능, R에서 자바호출가능(?) 그런데 어느정도 전처리된 단계가 있고 R로 처리를 하면 자동적으로 환상적인 Visualization 대박인듯..(할게 많구나..) R관련 재미있는 사이..
R 프로그래밍 사실, 졸업전에 어떻게 기회가 되어서 R프로그래밍을 배우고 있습니다. 전,, 여태까지 R 프로그래밍이 Hadoop MapReduce를 쉽게 하기 위한 방법론? 또는 그런 제품, 관련된거라고 생각했는데, 정말로 잘못알고 있었던거네요. 물론 외국쪽에 자료가 많겠지만. 국내쪽 커뮤티니 주소 첨부합니다. http://r-project.kr/ R 한국 사용자모임https://www.facebook.com/groups/krstudy/ 페이스북 R 사용자 그룹