2014-10-10 21 views

Trả lời

6

Chúng không được cung cấp. Bạn sẽ thực hiện những điều này bằng cách thực hiện truy vấn hoặc quét bằng bộ lọc và tự tính giá trị. Để đơn giản hóa mọi thứ một chút, bạn có thể sử dụng Count parameter để chỉ trả lại số lượng mục sẽ được trả về bởi truy vấn/quét đó thay vì các mục thực tế. (Lưu ý rằng số lượng chỉ trả về một phần đếm - bạn có thể cần tính tổng trên nhiều trang truy vấn/quét). Ngoài ra, bạn có thể duy trì một bảng riêng biệt lưu trữ các giá trị này cho bạn khi các bảng chính được cập nhật (lưu ý điều này có thể khó để đồng bộ hóa, bạn sẽ phải sử dụng một số hình thức quản lý giao dịch và xem xét mô hình nhất quán cuối cùng của dynamo).

+0

Chỉ đếm được hỗ trợ https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count – cjungel

+1

Không hẳn - đếm chỉ trả về kết quả một phần từ truy vấn đó - bạn vẫn cần phải tự lắp ráp tổng số. Tôi đã sao chép và dán ghi chú tài liệu liên quan từ liên kết của bạn tại đây: "* Nếu các mục phù hợp cho biểu thức bộ lọc hoặc điều kiện truy vấn vượt quá 1 MB, Đếm có chứa một phần tổng số mục phù hợp với yêu cầu. lấy toàn bộ các mục phù hợp, lấy giá trị LastEvaluatedKey từ yêu cầu trước đó, và sử dụng giá trị đó như ExclusiveStartKey trong yêu cầu tiếp theo. Lặp lại điều này cho đến khi DynamoDB không còn trả về LastEvaluatedKey nữa. * " – Krease

+0

Bạn nói đúng, bạn có thể phải tính tổng tất cả các phần đếm để nhận tổng số. Nhưng nó vẫn hiệu quả hơn việc lấy các vật phẩm riêng lẻ và đếm chúng ở phía ứng dụng. Tất nhiên điều này sẽ chỉ làm việc cho số lượng và không cho bất kỳ chức năng tổng hợp khác. – cjungel

2

Tôi gặp vấn đề tương tự như bạn và sau đó tôi có 2 ý tưởng để giải quyết vấn đề đó. Thứ nhất - là truy vấn tất cả dữ liệu bằng truy vấn/quét rồi tổng hợp dữ liệu của bạn trong mã java. Thứ hai - là sử dụng Hive SQL, bạn có thể sử dụng Hive và DyanmoDB cùng nhau, và tổng hợp dữ liệu của bạn trong Hivql.

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/EMRforDynamoDB.Tutorial.html

Các vấn đề liên quan