Skip to main content
Version: v1.14.0


Aggregate Function

collect_map aggregate map values into a single map


collect_map(|{any:any}|) -> |{any:any}|


The collect_map aggregate function combines map inputs into a single map output. If collect_map receives multiple values for the same key, the last value received is retained. If the input keys or values vary in type, the return type will be a map of union of those types.


Combine a sequence of records into a map:

echo '{stock:"APPL",price:145.03} {stock:"GOOG",price:87.07}' | zq -z 'collect_map(|{stock:price}|)' -



Continuous collection over a simple sequence:

echo '|{"APPL":145.03}| |{"GOOG":87.07}| |{"APPL":150.13}|' | zq -z 'yield collect_map(this)' -