6 백만 행을 반환하는 쿼리가 있는데, 너무 커서 메모리에서 한 번에 모두 처리 할 수 없습니다.어떻게 데이터 구조의 크기를 스칼라로 근사 할 수 있습니까?
각 쿼리는 Tuple3 [String, Int, java.sql.Timestamp]를 반환합니다. 나는 그 문자열이 결코 약 20 자 (UTF8) 이상이라는 것을 안다.
이 튜플 중 하나의 최대 크기를 계산하는 방법은 무엇입니까? 더 일반적으로 이처럼 스칼라 데이터 구조의 크기를 어떻게 계산할 수 있습니까?
내가 사용하고있는 컴퓨터에서 6Gb가 있습니다. 그러나 스칼라 목록을 스칼라 목록에 사용하여 데이터를 데이터베이스에서 읽는 중입니다.
좋은 점은 문자열과 객체 오버 헤드의 여분의 오버 헤드를 잊어 버렸습니다. 아직도, 그것은별로 데이터가 아닙니다. –
왜 문자열 배열의 문자 당 24 더하기 2입니까? IIRC 배열은 비 배열의 경우 8 바이트 대 4 바이트이고 요소가 포함됩니다. –
@ DanielC.Sobral - 64 비트 머신에서 16 바이트 인 객체 오버 헤드와 길이가 있으므로 약간 벗어났습니다. –