Hi, rolltion.
What’s your Kylin version? There is an issue
https://issues.apache.org/jira/browse/KYLIN-2200, if this issue same as yours.
You can upgrade Kylin to the latest version.
Best wishes!
发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用
________________________________
发件人: [email protected] <[email protected]>
发送时间: Thursday, January 24, 2019 4:57:05 PM
收件人: dev
主题: could not excute SQL with 'union all'
Hi kylin:
When I ran sql "select sum(HBD_OPR.PAY_AMT) amt,
HBD_OPR.MZ_EXPENSE_CATEGORIES, HBD_OPR.DEPARTMENT dept from HBD_OPR where
HBD_OPR.CHARGE_DATE>='2015-01-01' and HBD_OPR.CHARGE_DATE<'2016-01-11' and 1=2
group by HBD_OPR.MZ_EXPENSE_CATEGORIES, HBD_OPR.DEPARTMENT union all select
sum(HBD_OPC_DIAG.TOTAL_AMT) amt, HBD_OPC_DIAG.MZ_EXPENSE_CATEGORIES,
HBD_OPC_DIAG.ORDER_DEPT dept from HBD_OPC_DIAG where HBD_OPC_DIAG.CHARGE_DATE
>='2015-01-01' and HBD_OPC_DIAG.CHARGE_DATE <'2016-01-11' and 1=2 group by
HBD_OPC_DIAG.MZ_EXPENSE_CATEGORIES, HBD_OPC_DIAG.ORDER_DEPT union all select
sum(HBD_OPC_DRUG_FEE.TOTAL_AMT) amt, HBD_OPC_DRUG_FEE.MZ_EXPENSE_CATEGORIES,
HBD_OPC_DRUG_FEE.ORDER_DEPT dept from HBD_OPC_DRUG_FEE where
HBD_OPC_DRUG_FEE.CHARGE_DATE >='2015-01-01' and HBD_OPC_DRUG_FEE.CHARGE_DATE
<'2016-01-11' and 1=1 group by HBD_OPC_DRUG_FEE.MZ_EXPENSE_CATEGORIES,
HBD_OPC_DRUG_FEE.ORDER_DEPT" on my cube,
I got only a Excuting status on kylin web page ,a timeout in my java code,
and kylin log :
2019-01-24 15:26:09,289 INFO [BadQueryDetector]
service.BadQueryDetector:203 : Slow query has been running 159.581 seconds
(project:hbd_warehouse, thread: 0xdc4e, user:ADMIN, query
id:989de4e4-3451-e89b-96e5-4e686017dcd5) -- select * from ( select
sum(HBD_OPR.PAY_AMT) amt, HBD_OPR.MZ_EXPENSE_CATEGORIES, HBD_OPR.DEPARTMENT
dept from HBD_OPR where HBD_OPR.CHARGE_DATE>='2015-01-01' and
HBD_OPR.CHARGE_DATE<'2016-01-11' and 1=2 group by
HBD_OPR.MZ_EXPENSE_CATEGORIES, HBD_OPR.DEPARTMENT union all select
sum(HBD_OPC_DIAG.TOTAL_AMT) amt, HBD_OPC_DIAG.MZ_EXPENSE_CATEGORIES,
HBD_OPC_DIAG.ORDER_DEPT dept from HBD_OPC_DIAG where HBD_OPC_DIAG.CHARGE_DATE
>='2015-01-01' and HBD_OPC_DIAG.CHARGE_DATE <'2016-01-11' and 1=2 group by
HBD_OPC_DIAG.MZ_EXPENSE_CATEGORIES, HBD_OPC_DIAG.ORDER_DEPT union all select
sum(HBD_OPC_DRUG_FEE.TOTAL_AMT) amt, HBD_OPC_DRUG_FEE.MZ_EXPENSE_CATEGORIES,
HBD_OPC_DRUG_FEE.ORDER_DEPT dept from HBD_OPC_DRUG_FEE where
HBD_OPC_DRUG_FEE.CHARGE_DATE >='2015-01-01' and HBD_OPC_DRUG_FEE.CHARGE_DATE
<'2016-01-11' and 1=1 group by HBD_OPC_DRUG_FEE.MZ_EXPENSE_CATEGORIES,
HBD_OPC_DRUG_FEE.ORDER_DEPT )a
2019-01-24 15:26:09,327 DEBUG [BadQueryDetector]
badquery.BadQueryHistoryManager:65 : Loaded 13 Bad Query(s)
2019-01-24 15:26:09,388 INFO [BadQueryDetector] service.BadQueryDetector:191 :
Problematic thread 0xdc4e Query 989de4e4-3451-e89b-96e5-4e686017dcd5-56398,
query id: 989de4e4-3451-e89b-96e5-4e686017dcd5
at
org.apache.calcite.plan.volcano.RelSubset.getParentSubsets(RelSubset.java:222)
at
org.apache.calcite.plan.volcano.RuleQueue.computeImportance(RuleQueue.java:396)
at org.apache.calcite.plan.volcano.RuleQueue.recompute(RuleQueue.java:193)
at org.apache.calcite.plan.volcano.RuleQueue.recompute(RuleQueue.java:206)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1615)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:1766)
at
org.apache.calcite.plan.volcano.VolcanoRuleCall.transformTo(VolcanoRuleCall.java:135)
at org.apache.calcite.plan.RelOptRuleCall.transformTo(RelOptRuleCall.java:234)
The SQL works when I split it up into subqueries and got the right result,
so I am curious about that why this error could happen?希望能得到你们的帮助,感激不尽。
[email protected]