-
왜이렇게 자꾸 햇갈리는지 모르겠다.
오늘은 https://www.slideshare.net/databricks/enabling-exploratory-data-science-with-spark-and-r 이것을 보고 공부를 해봤다.
sparkR이 무엇인가?
-spark에 R 프론트엔드를 제공함
-R의 단점인 데규모 데이터셋에대한 메모리관리를 spark가 커버쳐줌 (그래서 로컬 메모리 필요x) ( spark의 분산처리를 r이 쓸수있도록함)
-R과 spark 데이터프레임사이에 편리한 상호작용을 제공
아키텍쳐
드라이버
-2가지의 구성요소 ( 드라이버,워커 )
-분산된 데이터 자체는 jvm에 있음!!!!!
-R에서 jvm에 바인딩되어(묶이다라는 뜻으로 R에서 jvm의 함수를 호출할 수 있도록 하는.. )
즉 sparkR이라면 R에서 jvm에 바인딩 되어 spark의 함수를 사용할 수 있도록 하는것
-sparkR의 api
-바인딩은 socket기반 sparkR 내장 api를 가지고 한다. ( java 객체를 참조하는 R의 class 'jobj'를 이용함!!! )
워커
- 초기에는 R함수를 실행할때마다 fork하는 방식이였는데, 이는 필요 입력을 전송시 고정된 오버헤드가 발생하여 비용이 큼
-R연산 수행을 파이프라인으로 실행함
-파이프라인 : 프로세서로 가는 명령어들의 움직임, 명령어를 수행하기 위해 취해진 산술적인 단계가 연속/중복
-파이프라인을 쓴다! 라는것은 연산을 수행할때 메모리에서 연산수행에 관련된 명령어를 프로세서가 연산을 수행하는동안 미리 가져와서 근처 버퍼에 가져다놓는것임!! ( 파이프라인을 안쓰면 연산이 다~끝나야 명령어를 가져오고..) 그래서 주어진 시간동안 수행 될 수 있는 명령어의 수가 증가됨
-데몬 R프로세스를 만듬
-데몬 R프로세스는 worker에서 R이 spark를 사용하여 작업을 수행하는동안 worker R을 관리하는 기능을 가지고 있음
'2017년 > Spark' 카테고리의 다른 글
spakrR과 R의 메모리 (0) 2017.09.12 sparkR 이제 좀 써보자.. (0) 2017.08.28 R과 알고리즘 (0) 2017.08.18 sparkR을 공부해보자 [Scaling R Programs with Spark] (0) 2017.08.12 버츄어박스에 coreOs+Dockerswarm+spark 를 깔아보자 (0) 2017.07.21