This is an automated email from the ASF dual-hosted git repository.
lihaopeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new a2835bfd40b [doc](orthogonal-bitmap) remove orthogonal-bitmap
function docs (#648)
a2835bfd40b is described below
commit a2835bfd40b894d2980e2aa190d23ae9cb7f0aca
Author: zhangstar333 <[email protected]>
AuthorDate: Mon May 20 16:20:45 2024 +0800
[doc](orthogonal-bitmap) remove orthogonal-bitmap function docs (#648)
---
docs/query/duplicate/orthogonal-bitmap-manual.md | 47 ++++++++++++++++++++++
.../orthogonal-bitmap-expr-calculate-count.md | 47 ----------------------
.../orthogonal-bitmap-expr-calculate.md | 47 ----------------------
.../orthogonal-bitmap-intersect-count.md | 46 ---------------------
.../orthogonal-bitmap-intersect.md | 47 ----------------------
.../orthogonal-bitmap-union-count.md | 46 ---------------------
.../query/duplicate/orthogonal-bitmap-manual.md | 47 ++++++++++++++++++++++
.../orthogonal-bitmap-expr-calculate-count.md | 47 ----------------------
.../orthogonal-bitmap-expr-calculate.md | 47 ----------------------
.../orthogonal-bitmap-intersect-count.md | 46 ---------------------
.../orthogonal-bitmap-intersect.md | 47 ----------------------
.../orthogonal-bitmap-union-count.md | 47 ----------------------
sidebars.json | 5 ---
13 files changed, 94 insertions(+), 472 deletions(-)
diff --git a/docs/query/duplicate/orthogonal-bitmap-manual.md
b/docs/query/duplicate/orthogonal-bitmap-manual.md
index 526afdfb8da..3ccda6aedc4 100644
--- a/docs/query/duplicate/orthogonal-bitmap-manual.md
+++ b/docs/query/duplicate/orthogonal-bitmap-manual.md
@@ -101,6 +101,15 @@ Parameters:
the first parameter is the bitmap column, the second parameter is the
dimension column for filtering, and the third parameter is the variable length
parameter, which means different values of the filter dimension column
+```
+mysql> select orthogonal_bitmap_intersect(members, tag_group, 1150000,
1150001, 390006) from tag_map where tag_group in ( 1150000, 1150001, 390006);
++-------------------------------------------------------------------------------+
+| orthogonal_bitmap_intersect(`members`, `tag_group`, 1150000, 1150001,
390006) |
++-------------------------------------------------------------------------------+
+| NULL
|
++-------------------------------------------------------------------------------+
+```
+
Explain:
on the basis of this table schema, this function has two levels of aggregation
in query planning. In the first layer, be nodes (update and serialize) first
press filter_ Values are used to hash aggregate the keys, and then the bitmaps
of all keys are intersected. The results are serialized and sent to the second
level be nodes (merge and finalize). In the second level be nodes, all the
bitmap values from the first level nodes are combined circularly
@@ -124,6 +133,15 @@ Parameters:
The first parameter is the bitmap column, the second parameter is the
dimension column for filtering, and the third parameter is the variable length
parameter, which means different values of the filter dimension column
+```
+mysql> select orthogonal_bitmap_intersect_count(members, tag_group, 1150000,
1150001, 390006) from tag_map where tag_group in ( 1150000, 1150001, 390006);
++-------------------------------------------------------------------------------------+
+| orthogonal_bitmap_intersect_count(`members`, `tag_group`, 1150000, 1150001,
390006) |
++-------------------------------------------------------------------------------------+
+|
0 |
++-------------------------------------------------------------------------------------+
+```
+
Explain:
on the basis of this table schema, the query planning aggregation is divided
into two layers. In the first layer, be nodes (update and serialize) first
press filter_ Values are used to hash aggregate the keys, and then the
intersection of bitmaps of all keys is performed, and then the intersection
results are counted. The count values are serialized and sent to the second
level be nodes (merge and finalize). In the second level be nodes, the sum of
all the count values from the first lev [...]
@@ -137,6 +155,15 @@ Syntax:
orthogonal_bitmap_union_count(bitmap_column)
+```
+mysql> select orthogonal_bitmap_union_count(members) from tag_map where
tag_group in ( 1150000, 1150001, 390006);
++------------------------------------------+
+| orthogonal_bitmap_union_count(`members`) |
++------------------------------------------+
+| 286957811 |
++------------------------------------------+
+```
+
Explain:
on the basis of this table schema, this function is divided into two layers.
In the first layer, be nodes (update and serialize) merge all the bitmaps, and
then count the resulting bitmaps. The count values are serialized and sent to
the second level be nodes (merge and finalize). In the second layer, the be
nodes are used to calculate the sum of all the count values from the first
level nodes
@@ -155,6 +182,16 @@ the first parameter is the Bitmap column, the second
parameter is the dimension
the calculators supported by the expression: & represents intersection
calculation, | represents union calculation, - represents difference
calculation, ^ represents XOR calculation, and \ represents escape characters
+```
+ select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(833736|999777)&(1308083|231207)&(1000|20000-30000)') from user_tag_bitmap
where tag in (833736,999777,130808,231207,1000,20000,30000);
+ Note: 1000, 20000, 30000 plastic tags represent different labels of users
+```
+
+```
+ select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(A:a/b|B:2\\-4)&(C:1-D:12)&E:23') from user_str_tag_bitmap where tag in
('A:a/b', 'B:2-4', 'C:1', 'D:12', 'E:23');
+ Note: 'A:a/b', 'B:2-4', etc. are string types tag, representing different
labels of users, where 'B:2-4' needs to be escaped as'B:2\\-4'
+```
+
Explain:
the aggregation of query planning is divided into two layers. The first layer
of be aggregation node calculation includes init, update, and serialize steps.
The second layer of be aggregation node calculation includes merge and finalize
steps. In the first layer of be node, the input string is parsed in the init
phase, which is converted into a suffix expression (inverse Polish), parses the
calculated key value, and initializes it in the map<key, bitmap>structure; In
the update phase, th [...]
@@ -167,6 +204,16 @@ Syntax:
orthogonal_bitmap_expr_calculate_count(bitmap_column, filter_column,
input_string)
+```
+ select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(833736|999777)&(1308083|231207)&(1000|20000-30000)') from user_tag_bitmap
where tag in (833736,999777,130808,231207,1000,20000,30000);
+ Note: 1000, 20000, 30000 plastic tags represent different labels of users
+```
+
+```
+ select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(A:a/b|B:2\\-4)&(C:1-D:12)&E:23') from user_str_tag_bitmap where tag in
('A:a/b', 'B:2-4', 'C:1', 'D:12', 'E:23');
+ Note: 'A:a/b', 'B:2-4', etc. are string types tag, representing different
labels of users, where 'B:2-4' needs to be escaped as'B:2\\-4'
+```
+
Explain:
the aggregation of query planning is divided into two layers. The first layer
of be aggregation node calculation includes init, update, and serialize steps.
The second layer of be aggregation node calculation includes merge and finalize
steps. In the first layer of be node, the input string is parsed in the init
phase, converted to suffix expression Formula (inverse Polish formula), parse
the calculated key value and initialize it in the map<key, bitmap>structure; In
the update phase, th [...]
diff --git
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate-count.md
b/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate-count.md
deleted file mode 100644
index 3562e3fcd34..00000000000
---
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate-count.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_EXPR_CALCULATE_COUNT",
-"language": "en"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_expr_calculate_count
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_EXPR_CALCULATE_COUNT(bitmap_column,
column_to_filter, input_string)`
-Calculate the bitmap intersection, union and difference set of expressions to
calculate the count function. The first parameter is the Bitmap column, the
second parameter is the dimension column used for filtering, that is, the
calculated key column, and the third parameter is the calculation expression
string, meaning that the bitmap intersection, union and difference set
expression is calculated according to the key column
-The calculators supported by the expression:&represents intersection
calculation, | represents union calculation, - represents difference
calculation, ^ represents XOR calculation, and \ represents escape characters
-
-### example
-
-```
-select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(833736|999777)&(1308083|231207)&(1000|20000-30000)') from user_tag_bitmap
where tag in (833736,999777,130808,231207,1000,20000,30000);
-Note: 1000, 20000, 30000 plastic tags represent different labels of users
-```
-
-```
-select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(A:a/b|B:2\\-4)&(C:1-D:12)&E:23') from user_str_tag_bitmap where tag in
('A:a/b', 'B:2-4', 'C:1', 'D:12', 'E:23');
-Note: 'A:a/b', 'B:2-4', etc. are string types tag, representing different
labels of users, where 'B:2-4' needs to be escaped as'B:2\\-4'
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_EXPR_CALCULATE_COUNT,BITMAP
diff --git
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate.md
b/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate.md
deleted file mode 100644
index e25c3611cfa..00000000000
---
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_EXPR_CALCULATE",
-"language": "en"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_expr_calculate
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_EXPR_CALCULATE(bitmap_column, column_to_filter,
input_string)`
-The first parameter is the Bitmap column, the second parameter is the
dimension column used for filtering, that is, the calculated key column, and
the third parameter is the calculation expression string, meaning that the
bitmap intersection, union, and difference set expression is calculated
according to the key column
-The calculators supported by the expression:&represents intersection
calculation, | represents union calculation, - represents difference
calculation, ^ represents XOR calculation, and \ represents escape characters
-
-### example
-
-```
-select orthogonal_bitmap_expr_calculate(user_id, tag,
'(833736|999777)&(1308083|231207)&(1000|20000-30000)') from user_tag_bitmap
where tag in (833736,999777,130808,231207,1000,20000,30000);
-Note: 1000, 20000, 30000 plastic tags represent different labels of users
-```
-
-```
-select orthogonal_bitmap_expr_calculate(user_id, tag,
'(A:a/b|B:2\\-4)&(C:1-D:12)&E:23') from user_str_tag_bitmap where tag in
('A:a/b', 'B:2-4', 'C:1', 'D:12', 'E:23');
-Note: 'A:a/b', 'B:2-4', etc. are string types tag, representing different
labels of users, where 'B:2-4' needs to be escaped as'B:2\\-4'
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_EXPR_CALCULATE,BITMAP
diff --git
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect-count.md
b/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect-count.md
deleted file mode 100644
index 3884e4f4715..00000000000
---
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect-count.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_INTERSECT_COUNT",
-"language": "en"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_intersect_count
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_INTERSECT_COUNT(bitmap_column, column_to_filter,
filter_values)`
-The bitmap intersection count function, the first parameter is the bitmap
column, the second parameter is the dimension column for filtering, and the
third parameter is the variable length parameter, which means different values
of the filter dimension column
-
-### example
-
-```
-mysql> select orthogonal_bitmap_intersect_count(members, tag_group, 1150000,
1150001, 390006) from tag_map where tag_group in ( 1150000, 1150001, 390006);
-+-------------------------------------------------------------------------------------+
-| orthogonal_bitmap_intersect_count(`members`, `tag_group`, 1150000, 1150001,
390006) |
-+-------------------------------------------------------------------------------------+
-|
0 |
-+-------------------------------------------------------------------------------------+
-1 row in set (3.382 sec)
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_INTERSECT_COUNT,BITMAP
diff --git
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect.md
b/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect.md
deleted file mode 100644
index c7be4fdcf6e..00000000000
---
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_INTERSECT",
-"language": "en"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_intersect
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_INTERSECT(bitmap_column, column_to_filter,
filter_values)`
-The bitmap intersection function, the first parameter is the bitmap column,
the second parameter is the dimension column for filtering, and the third
parameter is the variable length parameter, which means different values of the
filter dimension column
-
-### example
-
-```
-mysql> select orthogonal_bitmap_intersect(members, tag_group, 1150000,
1150001, 390006) from tag_map where tag_group in ( 1150000, 1150001, 390006);
-+-------------------------------------------------------------------------------+
-| orthogonal_bitmap_intersect(`members`, `tag_group`, 1150000, 1150001,
390006) |
-+-------------------------------------------------------------------------------+
-| NULL
|
-+-------------------------------------------------------------------------------+
-1 row in set (3.505 sec)
-
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_INTERSECT,BITMAP
diff --git
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-union-count.md
b/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-union-count.md
deleted file mode 100644
index 18d5fc76f1a..00000000000
---
a/docs/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-union-count.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_UNION_COUNT",
-"language": "en"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_union_count
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_UNION_COUNT(bitmap_column, column_to_filter,
filter_values)`
-Figure out the bitmap union count function, syntax with the original
bitmap_union_count, but the implementation is different.
-
-### example
-
-```
-mysql> select orthogonal_bitmap_union_count(members) from tag_map where
tag_group in ( 1150000, 1150001, 390006);
-+------------------------------------------+
-| orthogonal_bitmap_union_count(`members`) |
-+------------------------------------------+
-| 286957811 |
-+------------------------------------------+
-1 row in set (2.645 sec)
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_UNION_COUNT,BITMAP
\ No newline at end of file
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query/duplicate/orthogonal-bitmap-manual.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query/duplicate/orthogonal-bitmap-manual.md
index b5e87bd240c..1283f01b14e 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/query/duplicate/orthogonal-bitmap-manual.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/query/duplicate/orthogonal-bitmap-manual.md
@@ -110,6 +110,15 @@ orthogonal_bitmap_intersect(bitmap_column,
column_to_filter, filter_values)
第一个参数是 Bitmap 列,第二个参数是用来过滤的维度列,第三个参数是变长参数,含义是过滤维度列的不同取值
+```
+mysql> select orthogonal_bitmap_intersect(members, tag_group, 1150000,
1150001, 390006) from tag_map where tag_group in ( 1150000, 1150001, 390006);
++-------------------------------------------------------------------------------+
+| orthogonal_bitmap_intersect(`members`, `tag_group`, 1150000, 1150001,
390006) |
++-------------------------------------------------------------------------------+
+| NULL
|
++-------------------------------------------------------------------------------+
+```
+
- 说明:
查询规划上聚合分 2 层,在第一层 be 节点(update、serialize)先按 filter_values 为 key 进行 hash
聚合,然后对所有 key 的 bitmap 求交集,结果序列化后发送至第二层 be 节点 (merge、finalize),在第二层 be
节点对所有来源于第一层节点的 bitmap 值循环求并集
@@ -132,6 +141,15 @@ orthogonal_bitmap_intersect_count(bitmap_column,
column_to_filter, filter_values
第一个参数是 Bitmap 列,第二个参数是用来过滤的维度列,第三个参数开始是变长参数,含义是过滤维度列的不同取值
+```
+mysql> select orthogonal_bitmap_intersect_count(members, tag_group, 1150000,
1150001, 390006) from tag_map where tag_group in ( 1150000, 1150001, 390006);
++-------------------------------------------------------------------------------------+
+| orthogonal_bitmap_intersect_count(`members`, `tag_group`, 1150000, 1150001,
390006) |
++-------------------------------------------------------------------------------------+
+|
0 |
++-------------------------------------------------------------------------------------+
+```
+
- 说明:
查询规划聚合上分 2 层,在第一层 be 节点(update、serialize)先按 filter_values 为 key 进行 hash
聚合,然后对所有 key 的 bitmap 求交集,再对交集结果求 count,count 值序列化后发送至第二层 be
节点(merge、finalize),在第二层 be 节点对所有来源于第一层节点的 count 值循环求 sum
@@ -148,6 +166,15 @@ orthogonal_bitmap_union_count(bitmap_column)
参数类型是 bitmap,是待求并集 count 的列
+```
+mysql> select orthogonal_bitmap_union_count(members) from tag_map where
tag_group in ( 1150000, 1150001, 390006);
++------------------------------------------+
+| orthogonal_bitmap_union_count(`members`) |
++------------------------------------------+
+| 286957811 |
++------------------------------------------+
+```
+
- 说明:
查询规划上分 2 层,在第一层 be 节点(update、serialize)对所有 bitmap 求并集,再对并集的结果 bitmap 求
count,count 值序列化后发送至第二层 be 节点(merge、finalize),在第二层 be 节点对所有来源于第一层节点的 count 值循环求
sum
@@ -166,6 +193,16 @@ orthogonal_bitmap_expr_calculate(bitmap_column,
filter_column, input_string)
表达式支持的计算符:& 代表交集计算,| 代表并集计算,- 代表差集计算,^ 代表异或计算,\ 代表转义字符
+```sql
+select orthogonal_bitmap_expr_calculate(user_id, tag,
'(833736|999777)&(1308083|231207)&(1000|20000-30000)') from user_tag_bitmap
where tag in (833736,999777,130808,231207,1000,20000,30000);
+注:1000、20000、30000等整形tag,代表用户不同标签
+```
+
+```sql
+select orthogonal_bitmap_expr_calculate(user_id, tag,
'(A:a/b|B:2\\-4)&(C:1-D:12)&E:23') from user_str_tag_bitmap where tag in
('A:a/b', 'B:2-4', 'C:1', 'D:12', 'E:23');
+ 注:'A:a/b', 'B:2-4'等是字符串类型tag,代表用户不同标签, 其中'B:2-4'需要转义成'B:2\\-4'
+```
+
- 说明:
查询规划上聚合分 2 层,第一层 be 聚合节点计算包括 init、update、serialize 步骤,第二层 be 聚合节点计算包括
merge、finalize 步骤。在第一层 be 节点,init 阶段解析 input_string 字符串,转换为后缀表达式(逆波兰式),解析出计算
key 值,并在 map<key, bitmap>结构中初始化;update 阶段,底层内核 scan 维度列(filter_column)数据后回调
update 函数,然后以计算 key 为单位对上一步的 map 结构中的 bitmap 进行聚合;serialize 阶段,根据后缀表达式,解析出计算
key 列的 bitmap,利用栈结构先进后出原则,进行 bitmap 交并差集合计算,然后对最终的结果 bitmap 序列化后发送至第二层聚合 be
节点。在第二层聚合 be 节点,对所有来源于第一层节点的 bitmap 值求并集,并返回最终 bitmap 结果
@@ -178,6 +215,16 @@ orthogonal_bitmap_expr_calculate(bitmap_column,
filter_column, input_string)
orthogonal_bitmap_expr_calculate_count(bitmap_column, filter_column,
input_string)
+```sql
+select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(833736|999777)&(1308083|231207)&(1000|20000-30000)') from user_tag_bitmap
where tag in (833736,999777,130808,231207,1000,20000,30000);
+注:1000、20000、30000等整形tag,代表用户不同标签
+```
+
+```sql
+select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(A:a/b|B:2\\-4)&(C:1-D:12)&E:23') from user_str_tag_bitmap where tag in
('A:a/b', 'B:2-4', 'C:1', 'D:12', 'E:23');
+ 注:'A:a/b', 'B:2-4'等是字符串类型tag,代表用户不同标签, 其中'B:2-4'需要转义成'B:2\\-4'
+```
+
- 说明:
查询规划上聚合分 2 层,第一层 be 聚合节点计算包括 init、update、serialize 步骤,第二层 be 聚合节点计算包括
merge、finalize 步骤。在第一层 be 节点,init 阶段解析 input_string 字符串,转换为后缀表达式(逆波兰式),解析出计算
key 值,并在 map<key, bitmap>结构中初始化;update 阶段,底层内核 scan 维度列(filter_column)数据后回调
update 函数,然后以计算 key 为单位对上一步的 map 结构中的 bitmap 进行聚合;serialize 阶段,根据后缀表达式,解析出计算
key 列的 bitmap,利用栈结构先进后出原则,进行 bitmap 交并差集合计算,然后对最终的结果 bitmap 的 count
值序列化后发送至第二层聚合 be 节点。在第二层聚合 be 节点,对所有来源于第一层节点的 count 值求加和,并返回最终 count 结果。
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate-count.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate-count.md
deleted file mode 100644
index f5351ee029a..00000000000
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate-count.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_EXPR_CALCULATE_COUNT",
-"language": "zh-CN"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_expr_calculate_count
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_EXPR_CALCULATE_COUNT(bitmap_column,
column_to_filter, input_string)`
-求表达式bitmap交并差集合计算count函数,
第一个参数是Bitmap列,第二个参数是用来过滤的维度列,即计算的key列,第三个参数是计算表达式字符串,含义是依据key列进行bitmap交并差集表达式计算
-表达式支持的计算符:& 代表交集计算,| 代表并集计算,- 代表差集计算, ^ 代表异或计算,\ 代表转义字符
-
-### example
-
-```sql
-select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(833736|999777)&(1308083|231207)&(1000|20000-30000)') from user_tag_bitmap
where tag in (833736,999777,130808,231207,1000,20000,30000);
-注:1000、20000、30000等整形tag,代表用户不同标签
-```
-
-```sql
-select orthogonal_bitmap_expr_calculate_count(user_id, tag,
'(A:a/b|B:2\\-4)&(C:1-D:12)&E:23') from user_str_tag_bitmap where tag in
('A:a/b', 'B:2-4', 'C:1', 'D:12', 'E:23');
- 注:'A:a/b', 'B:2-4'等是字符串类型tag,代表用户不同标签, 其中'B:2-4'需要转义成'B:2\\-4'
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_EXPR_CALCULATE_COUNT,BITMAP
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate.md
deleted file mode 100644
index 58e6dbe40a9..00000000000
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_EXPR_CALCULATE",
-"language": "zh-CN"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_expr_calculate
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_EXPR_CALCULATE(bitmap_column, column_to_filter,
input_string)`
-求表达式bitmap交并差集合计算函数,
第一个参数是Bitmap列,第二个参数是用来过滤的维度列,即计算的key列,第三个参数是计算表达式字符串,含义是依据key列进行bitmap交并差集表达式计算
-表达式支持的计算符:& 代表交集计算,| 代表并集计算,- 代表差集计算, ^ 代表异或计算,\ 代表转义字符
-
-### example
-
-```sql
-select orthogonal_bitmap_expr_calculate(user_id, tag,
'(833736|999777)&(1308083|231207)&(1000|20000-30000)') from user_tag_bitmap
where tag in (833736,999777,130808,231207,1000,20000,30000);
-注:1000、20000、30000等整形tag,代表用户不同标签
-```
-
-```sql
-select orthogonal_bitmap_expr_calculate(user_id, tag,
'(A:a/b|B:2\\-4)&(C:1-D:12)&E:23') from user_str_tag_bitmap where tag in
('A:a/b', 'B:2-4', 'C:1', 'D:12', 'E:23');
- 注:'A:a/b', 'B:2-4'等是字符串类型tag,代表用户不同标签, 其中'B:2-4'需要转义成'B:2\\-4'
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_EXPR_CALCULATE,BITMAP
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect-count.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect-count.md
deleted file mode 100644
index 3cef4644673..00000000000
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect-count.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_INTERSECT_COUNT",
-"language": "zh-CN"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_intersect_count
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_INTERSECT_COUNT(bitmap_column, column_to_filter,
filter_values)`
-求bitmap交集大小的函数, 第一个参数是Bitmap列,第二个参数是用来过滤的维度列,第三个参数是变长参数,含义是过滤维度列的不同取值
-
-### example
-
-```
-mysql> select orthogonal_bitmap_intersect_count(members, tag_group, 1150000,
1150001, 390006) from tag_map where tag_group in ( 1150000, 1150001, 390006);
-+-------------------------------------------------------------------------------------+
-| orthogonal_bitmap_intersect_count(`members`, `tag_group`, 1150000, 1150001,
390006) |
-+-------------------------------------------------------------------------------------+
-|
0 |
-+-------------------------------------------------------------------------------------+
-1 row in set (3.382 sec)
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_INTERSECT_COUNT,BITMAP
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect.md
deleted file mode 100644
index b6f2740c75d..00000000000
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_INTERSECT",
-"language": "zh-CN"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_intersect
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_INTERSECT(bitmap_column, column_to_filter,
filter_values)`
-求bitmap交集函数, 第一个参数是Bitmap列,第二个参数是用来过滤的维度列,第三个参数是变长参数,含义是过滤维度列的不同取值
-
-### example
-
-```
-mysql> select orthogonal_bitmap_intersect(members, tag_group, 1150000,
1150001, 390006) from tag_map where tag_group in ( 1150000, 1150001, 390006);
-+-------------------------------------------------------------------------------+
-| orthogonal_bitmap_intersect(`members`, `tag_group`, 1150000, 1150001,
390006) |
-+-------------------------------------------------------------------------------+
-| NULL
|
-+-------------------------------------------------------------------------------+
-1 row in set (3.505 sec)
-
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_INTERSECT,BITMAP
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-union-count.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-union-count.md
deleted file mode 100644
index c4c6a263ac5..00000000000
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-union-count.md
+++ /dev/null
@@ -1,47 +0,0 @@
----
-{
-"title": "ORTHOGONAL_BITMAP_UNION_COUNT",
-"language": "zh-CN"
-}
----
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-## orthogonal_bitmap_union_count
-### description
-#### Syntax
-
-`BITMAP ORTHOGONAL_BITMAP_UNION_COUNT(bitmap_column, column_to_filter,
filter_values)`
-求bitmap并集大小的函数, 参数类型是bitmap,是待求并集count的列
-
-
-### example
-
-```
-mysql> select orthogonal_bitmap_union_count(members) from tag_map where
tag_group in ( 1150000, 1150001, 390006);
-+------------------------------------------+
-| orthogonal_bitmap_union_count(`members`) |
-+------------------------------------------+
-| 286957811 |
-+------------------------------------------+
-1 row in set (2.645 sec)
-```
-
-### keywords
-
- ORTHOGONAL_BITMAP_UNION_COUNT,BITMAP
diff --git a/sidebars.json b/sidebars.json
index 6cf7246b378..6fca1f33688 100644
--- a/sidebars.json
+++ b/sidebars.json
@@ -856,7 +856,6 @@
"sql-manual/sql-functions/bitmap-functions/bitmap-count",
"sql-manual/sql-functions/bitmap-functions/bitmap-and-count",
"sql-manual/sql-functions/bitmap-functions/bitmap-and-not-count",
-
"sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-union-count",
"sql-manual/sql-functions/bitmap-functions/bitmap-xor-count",
"sql-manual/sql-functions/bitmap-functions/bitmap-or-count",
"sql-manual/sql-functions/bitmap-functions/bitmap-contains",
@@ -866,10 +865,6 @@
"sql-manual/sql-functions/bitmap-functions/bitmap-min",
"sql-manual/sql-functions/bitmap-functions/intersect-count",
"sql-manual/sql-functions/bitmap-functions/bitmap-intersect",
-
"sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect",
-
"sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-intersect-count",
-
"sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate",
-
"sql-manual/sql-functions/bitmap-functions/orthogonal-bitmap-expr-calculate-count",
"sql-manual/sql-functions/bitmap-functions/bitmap-hash64",
"sql-manual/sql-functions/bitmap-functions/bitmap-from-base64",
"sql-manual/sql-functions/bitmap-functions/bitmap-to-base64",
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]