한 대의 컴퓨터에서 R 인스턴스의 메모리로로드 된 큰 data.frame이 있고 Rserve를 사용하여 원격 클라이언트에서이 데이터에 액세스 할 수 있습니다. 나는 열을 추가하거나 값을 변경하는 것과 같이 원격으로 data.frame을 변경할 수 있기를 바라고 있으며이 변경 사항을 다른 클라이언트가 사용할 수있게하고 싶습니다. I 번째 클라이언트와 연결될 때Rserve로 내부 데이터 변경
# server side
> xxx<-data.frame(a=1:3,b=4:6)
> run.Rserve(port = 6311, ...)
# client side
> cc<-RSconnect(port=6311, ...)
> RSeval(cc,'xxx$c<-7:9')
> RSeval(cc,'xxx')
a b c
1 1 4 7
2 2 5 8
3 3 6 9
그러나 변화를 보지 않는다 : 서버는 내부 데이터를 정지
# another client
> cc2<-RSconnect(port=6311, ...)
> RSeval(cc2,'xxx')
a b
1 1 4
2 2 5
3 3 6
도 변하지 않는다. 변경 사항은 클라이언트를 만든 클라이언트 만 사용할 수 있습니다. 실제로 필요한 것은 아닙니다.
이 방법을 만들 수있는 방법이 있습니까?
개별 세션에서 데이터베이스 또는 외부 플랫 파일을 사용하여 읽기/쓰기를 수행합니다 . 'data.table''fread'와'fwrite'를 사용하면 과부하라고 생각되는 데이터를 추측 할 수 없습니다. –
고마워, 나는 그 일을 할 것이지만, 나는 Rserve를 사용하여 그것을 직접 할 수있는 방법을 찾았다. –