java appengine에 대한 새로운 실험적 작업 대기열을 사용 중이며 데이터 저장소에 통계를 집계하는 작업을 만들려고합니다. 내 데이터 저장소의 모든 권한 (특정 유형) 내에서 UNIQUE 값의 수를 계산하려고합니다. 더 구체적으로 말하면, 유형 X의 엔티티에는 필드 A가 있습니다. 데이터 스토어에있는 A의 고유 한 값 NUMBER를 계산하고 싶습니다.얼마나 큰 appengine 작업 페이로드가 될 수 있습니까?
나의 현재 접근법은 X의 첫 번째 10 개 엔티티를 쿼리하여 A의 고유 값을 저장하는 해시 테이블을 만든 다음이 해시 테이블을 페이로드로 다음 태스크에 전달하는 태스크를 만드는 것이다. 이 다음 작업은 모든 엔티티를 거칠 때까지 다음 10 개의 엔티티 등을 계산합니다. 마지막 작업을 실행하는 동안 해시 테이블에있는 키 수를 계산하여 (작업에서 작업으로 모두 전달됨) A의 고유 값의 총 수를 찾습니다.
내 데이터 저장소의 엔티티 수. 하지만 고유 값이 많으면이 해시 테이블이 너무 커질 까봐 걱정됩니다. appengine 작업의 페이로드에 허용되는 최대 크기는 무엇입니까 ?????
다른 방법을 제안 할 수 있습니까?
감사합니다.
추위에 관한 사실. – Kredns
오브젝트 크기 = 페이로드 크기입니까? – aloo
개체를 어떻게 든 직렬화해야합니다. 그것이 페이로드입니다. 10k 이상이 될 것으로 예상된다면 실제 데이터를 포함하는 데이터 저장소 엔터티의 키를 직렬화하는 지연 라이브러리의 트릭을 사용할 수 있습니다. –