Tôi đã thử tài liệu DynamoDB và làm việc với ví dụ sử dụng QueryResult
, tôi không thể tìm thấy bất kỳ nguồn nào cách sử dụng min, max và avg trong DynamoDB (Tôi đang sử dụng Java API).DynamoDB có hỗ trợ các chức năng tổng hợp như AVG, MAX, MIN không?
Trả lời
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).
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
- 1. Hỗ trợ chức năng tổng hợp trong GraphQL
- 2. Cách lấy dữ liệu tổng hợp theo Slice thời gian (tổng, avg, min, max, v.v.) trong Rails 3
- 3. Liên hiệp các mảng như chức năng tổng hợp
- 4. Tại sao các xác nhận đậu Min/Max ràng buộc không hỗ trợ kiểu kép?
- 5. Chức năng phạm vi (min, max, value) trong Java
- 6. Có cách nào để thực hiện các chức năng tổng hợp trên Google App Engine không?
- 7. C#: hàm toán học tổng quát (Min, Max, vv)
- 8. Cách sử dụng các chức năng tổng hợp trong Amazon Dynamodb
- 9. Chức năng của iPhone SDK Objective C có hỗ trợ các chức năng bên trong các chức năng không?
- 10. Dart có hỗ trợ lập trình chức năng không?
- 11. Java Generics: chức năng giống như max()
- 12. Có hỗ trợ opencl Chức năng Con trỏ không?
- 13. tổng hợp nhiều biến với các chức năng khác nhau
- 14. iOS Swift max(), min()
- 15. Có chức năng `printk()` hỗ trợ `va_list` không?
- 16. Tìm tổng số chênh lệch MAX và MIN của tất cả các tập con có thể
- 17. Tại sao các chế độ xem được lập chỉ mục không có tổng hợp MAX()?
- 18. C++ tổng hợp không có chức năng ảo?
- 19. Có tên "chuẩn" cho hàm kết hợp min() và max() không?
- 20. Sử dụng các hàm min và max trong C++
- 21. Tương đương Swift cho các macro MIN và MAX
- 22. Python: max/min chức năng được xây dựng trong phụ thuộc vào thứ tự tham số
- 23. Làm các chức năng có hỗ trợ các khe cắm triển khai không?
- 24. Python max và min
- 25. LINQ (MIN && MAX)
- 26. chức năng tổng hợp trên mảng
- 27. Tại sao gcc không hỗ trợ chức năng khỏa thân?
- 28. Chức năng tổng hợp trong truy vấn cập nhật SQL?
- 29. trục y3 min/max không hoạt động
- 30. Does/Will Rust có hỗ trợ các thành ngữ lập trình chức năng không?
Chỉ đếm được hỗ trợ https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count – cjungel
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
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