explode_bitmap

description

Table functions must be used in conjunction with Lateral View.

Expand a bitmap type.

grammar:

1. explode_bitmap(bitmap)

example

Original table data:

1. mysql> select k1 from example1 order by k1;
2. +------+
3. | k1   |
4. +------+
5. |    1 |
6. |    2 |
7. |    3 |
8. |    4 |
9. |    5 |
10. |    6 |
11. +------+

Lateral View:

1. mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_empty()) tmp1 as e1 order by k1, e1;
2. +------+------+
3. | k1   | e1   |
4. +------+------+
5. |    1 | NULL |
6. |    2 | NULL |
7. |    3 | NULL |
8. |    4 | NULL |
9. |    5 | NULL |
10. |    6 | NULL |
11. +------+------+

13. mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_from_string("1")) tmp1 as e1 order by k1, e1;
14. +------+------+
15. | k1   | e1   |
16. +------+------+
17. |    1 |    1 |
18. |    2 |    1 |
19. |    3 |    1 |
20. |    4 |    1 |
21. |    5 |    1 |
22. |    6 |    1 |
23. +------+------+

25. mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_from_string("1,2")) tmp1 as e1 order by k1, e1;
26. +------+------+
27. | k1   | e1   |
28. +------+------+
29. |    1 |    1 |
30. |    1 |    2 |
31. |    2 |    1 |
32. |    2 |    2 |
33. |    3 |    1 |
34. |    3 |    2 |
35. |    4 |    1 |
36. |    4 |    2 |
37. |    5 |    1 |
38. |    5 |    2 |
39. |    6 |    1 |
40. |    6 |    2 |
41. +------+------+

43. mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_from_string("1,1000")) tmp1 as e1 order by k1, e1;
44. +------+------+
45. | k1   | e1   |
46. +------+------+
47. |    1 |    1 |
48. |    1 | 1000 |
49. |    2 |    1 |
50. |    2 | 1000 |
51. |    3 |    1 |
52. |    3 | 1000 |
53. |    4 |    1 |
54. |    4 | 1000 |
55. |    5 |    1 |
56. |    5 | 1000 |
57. |    6 |    1 |
58. |    6 | 1000 |
59. +------+------+

61. mysql> select k1, e1, e2 from example1
62. lateral view explode_bitmap(bitmap_from_string("1,1000")) tmp1 as e1
63. lateral view explode_split("a,b", ",") tmp2 as e2 order by k1, e1, e2;
64. +------+------+------+
65. | k1   | e1   | e2   |
66. +------+------+------+
67. |    1 |    1 | a    |
68. |    1 |    1 | b    |
69. |    1 | 1000 | a    |
70. |    1 | 1000 | b    |
71. |    2 |    1 | a    |
72. |    2 |    1 | b    |
73. |    2 | 1000 | a    |
74. |    2 | 1000 | b    |
75. |    3 |    1 | a    |
76. |    3 |    1 | b    |
77. |    3 | 1000 | a    |
78. |    3 | 1000 | b    |
79. |    4 |    1 | a    |
80. |    4 |    1 | b    |
81. |    4 | 1000 | a    |
82. |    4 | 1000 | b    |
83. |    5 |    1 | a    |
84. |    5 |    1 | b    |
85. |    5 | 1000 | a    |
86. |    5 | 1000 | b    |
87. |    6 |    1 | a    |
88. |    6 |    1 | b    |
89. |    6 | 1000 | a    |
90. |    6 | 1000 | b    |
91. +------+------+------+

keywords

explode,bitmap,explode_bitmap