explode_bitmap
description
表函数,需配合 Lateral View 使用。
展开一个bitmap类型。
语法:
1. 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
1. explode_bitmap
