explode_bitmap

description

表函数,需配合 Lateral View 使用。

展开一个bitmap类型。

syntax

explode_bitmap(bitmap)

example

原表数据:

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. Empty set

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

16. mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_from_string("1,2")) tmp1 as e1 order by k1, e1;
17. +------+------+
18. | k1   | e1   |
19. +------+------+
20. |    1 |    1 |
21. |    1 |    2 |
22. |    2 |    1 |
23. |    2 |    2 |
24. |    3 |    1 |
25. |    3 |    2 |
26. |    4 |    1 |
27. |    4 |    2 |
28. |    5 |    1 |
29. |    5 |    2 |
30. |    6 |    1 |
31. |    6 |    2 |
32. +------+------+

34. mysql> select k1, e1 from example1 lateral view explode_bitmap(bitmap_from_string("1,1000")) tmp1 as e1 order by k1, e1;
35. +------+------+
36. | k1   | e1   |
37. +------+------+
38. |    1 |    1 |
39. |    1 | 1000 |
40. |    2 |    1 |
41. |    2 | 1000 |
42. |    3 |    1 |
43. |    3 | 1000 |
44. |    4 |    1 |
45. |    4 | 1000 |
46. |    5 |    1 |
47. |    5 | 1000 |
48. |    6 |    1 |
49. |    6 | 1000 |
50. +------+------+

52. mysql> select k1, e1, e2 from example1
53. lateral view explode_bitmap(bitmap_from_string("1,1000")) tmp1 as e1
54. lateral view explode_split("a,b", ",") tmp2 as e2 order by k1, e1, e2;
55. +------+------+------+
56. | k1   | e1   | e2   |
57. +------+------+------+
58. |    1 |    1 | a    |
59. |    1 |    1 | b    |
60. |    1 | 1000 | a    |
61. |    1 | 1000 | b    |
62. |    2 |    1 | a    |
63. |    2 |    1 | b    |
64. |    2 | 1000 | a    |
65. |    2 | 1000 | b    |
66. |    3 |    1 | a    |
67. |    3 |    1 | b    |
68. |    3 | 1000 | a    |
69. |    3 | 1000 | b    |
70. |    4 |    1 | a    |
71. |    4 |    1 | b    |
72. |    4 | 1000 | a    |
73. |    4 | 1000 | b    |
74. |    5 |    1 | a    |
75. |    5 |    1 | b    |
76. |    5 | 1000 | a    |
77. |    5 | 1000 | b    |
78. |    6 |    1 | a    |
79. |    6 |    1 | b    |
80. |    6 | 1000 | a    |
81. |    6 | 1000 | b    |
82. +------+------+------+

keywords

explode,bitmap,explode_bitmap