druid native query execution-3

This commit is contained in:
liujianhuan 2020-07-01 12:12:42 +08:00
parent fee1d659da
commit a6f67fb4bd
3 changed files with 7 additions and 3 deletions

View File

@ -48,5 +48,5 @@ Druid的查询执行方法因查询的 [数据源类型](#数据源类型) 而
1. Broker执行输入join的任何子查询如 [`query`](#query)部分所述并用inline数据源替换它们。 1. Broker执行输入join的任何子查询如 [`query`](#query)部分所述并用inline数据源替换它们。
2. Broker将连接树如果存在展平为"基本"数据源(最左下角的一个)和其他叶数据源(其余部分)。 2. Broker将连接树如果存在展平为"基本"数据源(最左下角的一个)和其他叶数据源(其余部分)。
3. 使用与基本数据源相同结构的查询执行将单独继续执行。如果基数据源是一个表,则像往常一样根据"interval"修剪段并通过将查询并行地转发到所有相关的数据服务器在集群上执行查询。如果基数据源是Lookup或Join数据源包括将内联子查询作为结果的内联数据源则查询将在Broker本身上执行。基查询不能是Union因为当前不支持Union作为Join的输入。 3. 使用与基本数据源相同结构的查询执行将单独继续执行。如果基数据源是一个表,则像往常一样根据"interval"修剪段并通过将查询并行地转发到所有相关的数据服务器在集群上执行查询。如果基数据源是Lookup或Join数据源包括将内联子查询作为结果的内联数据源则查询将在Broker本身上执行。基查询不能是Union因为当前不支持Union作为Join的输入。
4. 在开始处理基数据源之前,将执行查询的服务器首先检查所有非基叶数据源,以确定是否需要为即将到来的哈希联接生成新的哈希表。目前,查找不需要构建新的哈希表(因为它们是预加载的),但内联数据源需要。 4. 在开始处理基数据源之前,将执行查询的服务器首先检查所有非基叶数据源,以确定是否需要为即将到来的哈希联接生成新的哈希表。目前,Lookup不需要构建新的哈希表因为它们是预加载的但Inline数据源需要。
5. 查询执行再次使用基本数据源将自己使用的相同结构继续执行,但有一个附加条件在处理基本数据源时Druid服务器将使用从其他连接输入构建的哈希表来逐行生成联接结果查询引擎将对联接的行而不是基本行进行操作。 5. 使用与基本数据源相同结构的查询执行将单独继续执行, 但有一个附加条件在处理基本数据源时Druid服务器将使用从其他连接输入构建的哈希表来逐行生成联接结果查询引擎将对联接的行而不是基本行进行操作。

View File

@ -25,7 +25,8 @@
"edit-link", "edit-link",
"copy-code-button", "copy-code-button",
"tbfed-pagefooter", "tbfed-pagefooter",
"donate" "donate",
"scripts"
], ],
"pluginsConfig": { "pluginsConfig": {
"edit-link": { "edit-link": {
@ -55,6 +56,9 @@
"button": "友情赞助", "button": "友情赞助",
"alipayText": "支付宝", "alipayText": "支付宝",
"wechatText": "微信" "wechatText": "微信"
},
"scripts": {
"files": ["./scripts/myscript.js"]
} }
} }
} }

0
scripts/myscript.js Normal file
View File