2012-06-21 5 views
3

나는 이것이 일반적인 SO 질문이 아닐지도 모른다는 사실을 잘 알고있다. 그러나 이것이 내가 알고있는 가장 강력한 R 프로그래밍 커뮤니티이자 opencpu explicitly encourages to post here의 저자이기 때문에 나는 그것을 줄 것이다. 시도 :openCPU에서 데이터의 역할

접근 방식에서 데이터는 어떤 역할을합니까? 클라우드 컴퓨팅은 훌륭하지만 계산할 데이터가 필요합니다. 몇 가지 예제 .csv 또는 .xls 테이블을 업로드하는 것은 간단 할 수 있지만 실제 데이터에 대해 opencpu가 염두에두고있는 점은 무엇입니까?

수백 MB (또는 심지어 GB)의 데이터는 무엇입니까? a) 어떻게 그것을 당신의 사용자 폴더로 옮기시겠습니까? b) 인증 된 사용자 그룹간에 어떻게 공유하고 c) 공개적으로 숨길 수 있습니까?

나는 license 부분을 읽었으며, 안전을 위해 소스 코드가 공개적으로 사용 가능한 한 장면 뒤에서 계산을 실행할 수 있어야한다고 알고 있습니다. 그러나 여전히 작은 문서는 열린 질문과 많은 추측을 남깁니다.

답변

0

opencpu의 로컬 인스턴스를 설치할 수 있습니다. 기존 인터넷을 인터넷에서 사용할 필요가 없습니다. 지침은 사이트에 있습니다.

+1

그래, 설치 안내서를 다운로드하고 Jeroen의 이전 작업 보고서를 읽었습니다. 그러나 데이터의 표준 아이디어/역할이 무엇인지는 분명하지 않습니다. 웹 브라우저를 통해 1GB 데이터 세트를 전송 하시겠습니까? 나는 표준 방법이 있는지, 그리고 저자의 추천이 무엇인지 알고 싶었다. NAS 드라이브? SSH? –

2

OpenCPU를 사용해 주셔서 감사합니다. OpenCPU는 지금도 계속 발전하고있는 프로젝트이므로 흥미로운 제안이나 사용 사례에 대해 열려 있습니다.

데이터 정보 ... 많은 것을 한 번에 묻습니다. 어떤 생각 :

  • 이 시점에서 OpenCPU는 '큰 데이터'문제를 해결하지 못합니다. R 자체가 확장 할 수있는 것 이상으로 확장되지 않습니다. 이는 주로 중소 규모의 데이터를위한 인프라 스트럭처로서의 의미가 있습니다. 예 : 전형적인 연구 논문, 프로젝트 등
  • OpenCPU는 API입니다. 브라우저 클라이언트에만 국한되지 않습니다. 다른 클라이언트로부터도 호출되도록 설계되었습니다.
  • OpenCPU에는 서버에 R 개체를 저장하는 데 사용하는 저장소가 있습니다. 예를 들어 CSV 등을 한 번 업로드 한 다음 실제 데이터 프레임을 저장합니다. 이후의 모든 호출에서이 객체를 함수 호출에 대한 인수로 포함 할 수 있습니다.
  • 또 다른 접근법은 외부 데이터베이스 (예 : mysql)와 결합하여 R 코드의 데이터를 동적으로 가져 오는 것입니다 (예 : RMySQL 사용)
  • Afaik, 열린 데이터의 법적 측면은이 시점에서 완전히 명확하지 않습니다 . 나는 저작권이 데이터에 어떻게 적용되는지, 그리고 좋은 면허가 무엇인지에 대한 합의가 있다고 생각하지 않는다. 그러나 OpenCPU 설계의 핵심 기능은 일을 쉽게 재현 할 수 있도록하는 것입니다. 이것은 물론 데이터가 실제로 공개 될 때만 수행 될 수 있습니다.
+0

저작권은 w.r.t.의 유일한 문제가 아닐 수도 있습니다. 데이터. 우리는 많은 설문 조사 데이터를 사용하기 때문에 마이크로 레벨에서 개인 정보 보호 문제가 있습니다. 귀하의 답변에 감사드립니다, 특히 두 번째는 좋은 알림입니다. 그냥 웹에 너무 많은 일을 너무 많이 연관 시켰어. –

+0

Jeroen, OpenCPU에 감사드립니다. 환상적인 플랫폼입니다. 그냥 질문 - 아마도 OpenCPU를 데이터베이스와 통합한다고 언급했습니다. 이 일을하는 사람이 있습니까? 나는 이것을하고 싶습니다. 그렇지 않다면 - 이것을 어떻게 접근 할 것인지에 대한 구체적인 아이디어가 있습니까? – tooringtest

+0

@tooringtest 이미 데이터베이스를 다루는 R 패키지가 있습니다. Jeroen은 RMySQL에 대해 언급했습니다. RODBC, Roracle 등도 있습니다. 기본적으로 DB에 연결 한 다음 openCPU에 스크립트를 보내서 그 내용을 처리하고 그래프로 나타낼 수 있습니다. 나는 그것보다 더 이상 복잡하지 않다고 생각한다. – Ruben

1

매트,

나는 데이터 집합을 변환 및 처리 데이터를 3GB의에서 (하지만 성장) 관련된 실제 사용 사례를 처리하고 있습니다. 여기에 (대부분 Gergely Daróczi에서 제안 기준) 내가 사용하고있는 방법은 다음과 같습니다

  • 한 서버의 메모리에 들어갈 수있는 소스 데이터, 내 R 패키지에 데이터를로드하기 위해 선택하는 것이 지속 싶지만 사용자 세션에서 데이터를 미리로드 (예 : OpenCPU로 데이터 패키지 미리로드)
  • 서버에 옵션이 없다면 데이터를 Ramdisk (Linux tmpfs 시스템)에 .rds (또는 .rda, .rData 등)으로 복사하는 방법이 있습니다.) 파일을 만들고이 경로를 R 패키지에 getOption("path_to_my_persistent_data_files")을 사용하여 설정 한 다음 패키지 기능에서 필요에 따라이 파일들을로드/언로드하십시오.
  • 데이터가 더 이상 메모리에 들어 가지 않으면 MongoDB 백엔드를 함께 사용합니다. R 인터페이스 rmongodb을 사용하면 RDBMS보다 유지 보수가 더 빠르고 쉬워 질 수 있습니다.

현재 OpenCPU는 큰 영구 데이터 세트를 지원하지 않으므로 사용자의 필요와 자원에 가장 적합한 방법을 찾는 것은 사용자의 몫입니다.