IT | Computer/R

R 언어 통계 프로그래밍: 대용량 데이터 처리

바람난후제 2016. 1. 9. 03:06
반응형

1. 대용량 데이터 Reading

1) 대용량 처리 팁

- 앞서 설명한 것과 같이 R의 경우 Physical Memory로 직접 할당을 하기 때문에 시스템 사양에 맞춰 데이터 처리를 해줘야 원활하게 프로그래밍을 할 수 있다.

- Dataset의 필요한 메모리 용량을 파악하고 RAM 보다 초과할 경우 멈추고 조절 하도록 한다.

- 파일에 주석이 없을 경우, comment.char = ""로 설정한다.

2) colClass 파라미터 활용

- 기본값 대신 특정 값을 설정하여 class type을 정해 줄 경우에 보다 빠르게 데이터를 읽을 수 있다.

- 각 column의 class를 알고 있을 경우에 가능하다.

3) nrows 미리 설정

- nrow를 설정해주면 메모리 사용에 효과적으로 이용할 수 있다. 단, 수행 속도가 빨라 지지는 않을 것이다.

4) 처리할 시스템의 상태 및 사용할 메모리 예측

- 처리할 데이터의 메모리를 예측해 보는 것이 컴퓨터의 메모리 용량을 초과하지 않는지 확인하면 처리를 보다 효율적으로 할 수 있을 것이다.

- 시스템의 메모리 용량, 성능에 따라 R 수행 속도가 차이가 날 수 있으므로 그에 맞게 처리할 데이터의 범위를 정하는 것이 필요하다.

 

2. 데이터 Writing: dput()/dget()

1) Textual Format으로의 저장

- CSV 파일과는 다르게 R에서 데이터 처리를 하기에 유용한 tabular data 형태의 format을 말한다.

- dumping/dputing: 데이터 작성에 유용하고 복구도 가능하다. CSV file이나 table과는 다르게 dump/dput 은 metadata를 저장하고 있어 다시 각 데이터 타입에 대하여 명시할 필요가 없다.

- 해당 데이터는 subversion이나 git으로 관리도 가능하다.

- 단, 메모리를 효율적으로 쓰는 데이터 형태는 아니다.

2) dput 실행

- origin dataframe을 생성하도 이를 dput으로 데이터를 전달하면 해당 데이터의 metadata가 표시된다.

- dput() 명령을 통해 데이터를 새로운 파일로 writing할 수 있다.

- dget() 을 통해 저장된 파일을 새로운 dataframe에 지정하고 이를 출력해보면, 이전의 데이터와 동일한 데이터가 표시되는 것을 확인할 수 있다.

3) R Object를 Dumping 하기

- dump() 함수로 여러 Object를 저장하고 source를 통해 여러 Object를 한 번에 불러와 사용할 수 있다.

- a, b Object를 생성하고 dump()를 통해 파일에 저장한다.

- rm()을 통해 a, b Object를 삭제하였다.

- source()를 통해 파일에서 Object를 다시 불러오면 이전 데이터가 그대로 보존됨을 확인할 수 있다.

반응형