R을 사용하여 Hadoop Streaming 용 감속기를 구현하려고합니다. 그러나 R, dplyr..etc 등의 내장 라이브러리가 아닌 특정 라이브러리에 액세스하는 방법을 알아야합니다.R 쉘에서 패키지 설치
(1) 감속기 코드에서, 그들은 다음과 같이 세션이 완료되면 배치 될 임시 폴더에 필요한 라이브러리를 설치하고 :
.libPaths(c(.libPaths(), temp <- tempdir()))
install.packages("dplyr", lib=temp, repos='http://cran.us.r-project.org')
library(dplyr)
...
두 가지 방법이있다처럼 내 연구를 바탕으로 보인다
그러나이 방법은 설치하려는 라이브러리의 수에 따라 극적인 오버 헤드가 발생합니다. 따라서 대부분의 경우 라이브러리 설치에 낭비 될 것입니다 (dplyr와 같은 정교한 라이브러리는 바 이노 R 세션에 설치하는 데 수 분의 시간이 걸릴 수 있습니다).
내가 손에 들어가기 전에 설치해야하는 것처럼 들리므로 접근 2로 연결됩니다.
(2) 클러스터가 상당히 큽니다. 그리고 Anabilities와 같은 도구를 사용하여 작동시켜야합니다. 따라서 라이브러리를 설치하기 위해 하나의 Linux 쉘 명령을 사용하는 것을 선호합니다. 나는 R CMD INSTALL...
을 전에 보았지만, R 콘솔에서 install.packages()
을 수행하는 대신 원본 파일에서 패키지를 설치하고, 미러를 찾아 내고, 소스 파일을 가져 와서 한 명령으로 설치하는 것처럼 느껴졌다.
누구나 비 대화식으로 R 패키지를 설치하기 위해 쉘에서 하나의 명령 줄을 사용하는 방법을 보여줄 수 있습니까? (사람이 심지어 권리 phylosophy을 다음 있지 않다 생각하면이 모든 클러스터 R 패키지를 관리 할 방법이 많은 배경 지식 죄송합니다, 코멘트에 남겨 주시기 바랍니다.)
나는 당신의 점을 이해하지 않는 -'install.r'가의 littler 함께 제공하고 우리가/usr/지방'에 소프트 링크를 설치하는 경향이/bin'. 그러면 그것은 단지'install.r drat'입니다. 그리고 그만한 가치가있는, 우리는'install.r'과'install2.r' (커맨드 라인 옵션을 지원합니다)을 로커에서 많이 사용합니다. 예 : [this Dockerfile] (https://github.com/rocker-org/hadleyverse/blob/master/Dockerfile)을 참조하십시오. –