我试图找出使用过滤器表达式进行DynamoDB Query
操作的优势。
我知道它用于优化查询结果,如下所述:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html#Query.FilterExpression。但是这也表示在过滤器之前应用相同的限制,因此在减少读取容量消耗或克服每个查询限制1MB方面不会获得任何收益。
为什么我会使用内置语言功能,例如Scala' filter
?
答案 0 :(得分:2)
在查询完成后但在返回结果之前应用过滤器表达式。
所以,最终它可以节省你的带宽。 Scala的过滤器以相同的方式工作 - 首先创建集合,然后过滤器将迭代它并过滤掉与谓词不匹配的结果。
另一方面,Spark过滤器操作是一个转换操作,因此被懒惰地评估,它允许Spark执行一些优化。