# Explode map > Supported in: Batch, Streaming Explode map into a row per key, value pair. **Expression categories:** Map ## Declared arguments * **Expression:** The map to explode.
*Expression\>* **Type variable bounds:** *TKey accepts AnyType\*\*TValue accepts AnyType* **Output type:** *Struct\* ## Examples ### Example 1: Base case **Argument values:** * **Expression:** `map` **Given input table:** | map | | ----- | | {
 1 -> val1,
 2 -> val2,
} | | {
 3 -> val3,
 4 -> val4,
} | **Expected output table:** | map | | ----- | | {
 key -> 1,
 value -> val1,
} | | {
 key -> 2,
 value -> val2,
} | | {
 key -> 3,
 value -> val3,
} | | {
 key -> 4,
 value -> val4,
} | *** ### Example 2: Edge case **Argument values:** * **Expression:** `map` **Given input table:** | map | | ----- | | {
 k1 -> q1,
} | | {

} | **Expected output table:** | map | | ----- | | {
 key -> k1,
 value -> q1,
} | *** ### Example 3: Edge case **Argument values:** * **Expression:** `map` **Given input table:** | map | | ----- | | *null* | **Expected output table:** | map | | ----- | ***