--- { "title": "explode_bitmap", "language": "en" } --- # explode_bitmap ## description Table functions must be used in conjunction with Lateral View. Expand a bitmap type. grammar: ``` explode_bitmap(bitmap) ``` ## example Original table data: ``` mysql> select k1 from example1 order by k1; +------+ | k1 | +------+ | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | +------+ ``` Lateral View: ``` mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_empty()) tmp1 as e1 order by k1, e1; +------+------+ | k1 | e1 | +------+------+ | 1 | NULL | | 2 | NULL | | 3 | NULL | | 4 | NULL | | 5 | NULL | | 6 | NULL | +------+------+ mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_from_string("1")) tmp1 as e1 order by k1, e1; +------+------+ | k1 | e1 | +------+------+ | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 1 | | 5 | 1 | | 6 | 1 | +------+------+ mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_from_string("1,2")) tmp1 as e1 order by k1, e1; +------+------+ | k1 | e1 | +------+------+ | 1 | 1 | | 1 | 2 | | 2 | 1 | | 2 | 2 | | 3 | 1 | | 3 | 2 | | 4 | 1 | | 4 | 2 | | 5 | 1 | | 5 | 2 | | 6 | 1 | | 6 | 2 | +------+------+ mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_from_string("1,1000")) tmp1 as e1 order by k1, e1; +------+------+ | k1 | e1 | +------+------+ | 1 | 1 | | 1 | 1000 | | 2 | 1 | | 2 | 1000 | | 3 | 1 | | 3 | 1000 | | 4 | 1 | | 4 | 1000 | | 5 | 1 | | 5 | 1000 | | 6 | 1 | | 6 | 1000 | +------+------+ mysql> select k1, e1, e2 from example1 lateral view explode_bitmap(bitmap_from_string("1,1000")) tmp1 as e1 lateral view explode_split("a,b", ",") tmp2 as e2 order by k1, e1, e2; +------+------+------+ | k1 | e1 | e2 | +------+------+------+ | 1 | 1 | a | | 1 | 1 | b | | 1 | 1000 | a | | 1 | 1000 | b | | 2 | 1 | a | | 2 | 1 | b | | 2 | 1000 | a | | 2 | 1000 | b | | 3 | 1 | a | | 3 | 1 | b | | 3 | 1000 | a | | 3 | 1000 | b | | 4 | 1 | a | | 4 | 1 | b | | 4 | 1000 | a | | 4 | 1000 | b | | 5 | 1 | a | | 5 | 1 | b | | 5 | 1000 | a | | 5 | 1000 | b | | 6 | 1 | a | | 6 | 1 | b | | 6 | 1000 | a | | 6 | 1000 | b | +------+------+------+ ``` ## keyword explode_bitmap