物化视图任务空指针异常,错误堆栈:
2024-12-04 18:29:30,927 INFO (mtmv-task-execute-1-thread-6|340908) [InsertOverwriteManager.removeTask():248] remove insert overwrite task: InsertOverwriteTask{cancel=false, dbId=89537, tableId=111796993, tempPartitionNames=[iot_temp_p_20240501000000_20240601000000]}
2024-12-04 18:29:30,928 WARN (mtmv-task-execute-1-thread-6|340908) [MTMVTask.run():214] run task failed:
2024-12-04 18:29:30,929 INFO (mtmv-task-execute-1-thread-6|340908) [MTMVTask.onFail():247] mtmv task onFail, taskId: 24117003756711639
2024-12-04 18:29:30,930 INFO (mtmv-task-execute-1-thread-6|340908) [MTMVService.refreshComplete():144] refreshComplete: dwd_trade_order_settlement_change_detail_info_recent_year
2024-12-04 18:29:30,930 INFO (mtmv-task-execute-1-thread-6|340908) [MTMVService.alterMTMV():111] alterMTMV, mtmvName: dwd_trade_order_settlement_change_detail_info_recent_year, AlterMTMV: AlterMTMV{mvName=org.apache.doris.nereids.trees.plans.commands.info.TableNameInfo@2bd29860, refreshInfo=null, status=null, needRebuildJob=false, mvProperties=null, task=MTMVTask{dbId=89537, mtmvId=111796993, taskContext=MTMVTaskContext{triggerMode=SYSTEM, partitions=null, isComplete=false}, needRefreshPartitions=[p_20231201000000_20240101000000, p_20241001000000_20241101000000, p_20240501000000_20240601000000, p_20241101000000_20241201000000, p_20240601000000_20240701000000, p_20240101000000_20240201000000, p_20240901000000_20241001000000, p_20240701000000_20240801000000, p_20240201000000_20240301000000, p_20240801000000_20240901000000, p_20240301000000_20240401000000, p_20240401000000_20240501000000, p_20241201000000_20250101000000], completedPartitions=[p_20231201000000_20240101000000, p_20241001000000_20241101000000], refreshMode=COMPLETE} AbstractTask{jobId=111797549, taskId=24117003756711639, status=FAILED, createTimeMs=1733308113827, startTimeMs=1733308113827, finishTimeMs=null, taskType=SCHEDULED, errMsg='null'}, relation=org.apache.doris.mtmv.MTMVRelation@3a3d3c3c}
2024-12-04 18:29:30,931 INFO (PUBLISH_VERSION|29) [PublishVersionDaemon.genPublishTask():178] send publish tasks for transaction: 69170673, db: 78935238
2024-12-04 18:29:30,934 INFO (tablet scheduler|38) [BeLoadRebalancer.selectAlternativeTabletsForCluster():116] get number of low load paths: 1, with medium: HDD
2024-12-04 18:29:30,931 WARN (mtmv-task-execute-1-thread-6|340908) [AbstractTask.runTask():172] execute task error, job id is 111797549, task id is 24117003756711639
org.apache.doris.job.exception.JobException: null
at org.apache.doris.job.extensions.mtmv.MTMVTask.run(MTMVTask.java:215) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.job.task.AbstractTask.runTask(AbstractTask.java:167) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.job.extensions.mtmv.MTMVTask.runTask(MTMVTask.java:314) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.job.executor.DefaultTaskExecutorHandler.onEvent(DefaultTaskExecutorHandler.java:50) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.job.executor.DefaultTaskExecutorHandler.onEvent(DefaultTaskExecutorHandler.java:33) ~[doris-fe.jar:1.2-SNAPSHOT]
at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:143) ~[disruptor-3.4.4.jar:?]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_211]
Caused by: java.lang.RuntimeException
at org.apache.doris.nereids.util.Utils.execWithUncheckedException(Utils.java:76) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalOlapScan(PhysicalPlanTranslator.java:801) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalOlapScan(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalOlapScan.accept(PhysicalOlapScan.java:158) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:1834) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalDistribute.accept(PhysicalDistribute.java:87) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:1339) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin.accept(PhysicalHashJoin.java:153) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:1834) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:1340) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin.accept(PhysicalHashJoin.java:153) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:1834) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalDistribute.accept(PhysicalDistribute.java:87) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:1340) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin.accept(PhysicalHashJoin.java:153) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:1834) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalOlapTableSink(PhysicalPlanTranslator.java:406) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalOlapTableSink(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalOlapTableSink.accept(PhysicalOlapTableSink.java:169) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.translatePlan(PhysicalPlanTranslator.java:257) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.NereidsPlanner.translate(NereidsPlanner.java:344) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.NereidsPlanner.lambda$plan$0(NereidsPlanner.java:130) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.NereidsPlanner.planWithLock(NereidsPlanner.java:200) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.NereidsPlanner.plan(NereidsPlanner.java:124) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand.initPlan(InsertIntoTableCommand.java:152) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand.runInternal(InsertIntoTableCommand.java:221) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand.run(InsertIntoTableCommand.java:105) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertOverwriteTableCommand.runInsertCommand(InsertOverwriteTableCommand.java:212) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertOverwriteTableCommand.insertInto(InsertOverwriteTableCommand.java:275) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertOverwriteTableCommand.run(InsertOverwriteTableCommand.java:183) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.job.extensions.mtmv.MTMVTask.exec(MTMVTask.java:239) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.job.extensions.mtmv.MTMVTask.run(MTMVTask.java:201) ~[doris-fe.jar:1.2-SNAPSHOT]
... 6 more
Caused by: java.lang.NullPointerException
at org.apache.doris.planner.OlapScanNode.computeTabletInfo(OlapScanNode.java:1150) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.planner.OlapScanNode.createScanRangeLocations(OlapScanNode.java:996) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.planner.OlapScanNode.init(OlapScanNode.java:589) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.util.Utils.execWithUncheckedException(Utils.java:74) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalOlapScan(PhysicalPlanTranslator.java:801) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalOlapScan(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalOlapScan.accept(PhysicalOlapScan.java:158) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:1834) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalDistribute.accept(PhysicalDistribute.java:87) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:1339) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin.accept(PhysicalHashJoin.java:153) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:1834) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:1340) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin.accept(PhysicalHashJoin.java:153) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:1834) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalDistribute.accept(PhysicalDistribute.java:87) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:1340) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:289) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalDistribute(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalDistribute.accept(PhysicalDistribute.java:87) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:1340) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin.accept(PhysicalHashJoin.java:153) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:1834) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:1340) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalHashJoin(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalHashJoin.accept(PhysicalHashJoin.java:153) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:1834) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalProject(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalProject.accept(PhysicalProject.java:110) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalOlapTableSink(PhysicalPlanTranslator.java:406) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.visitPhysicalOlapTableSink(PhysicalPlanTranslator.java:231) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.physical.PhysicalOlapTableSink.accept(PhysicalOlapTableSink.java:169) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.glue.translator.PhysicalPlanTranslator.translatePlan(PhysicalPlanTranslator.java:257) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.NereidsPlanner.translate(NereidsPlanner.java:344) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.NereidsPlanner.lambda$plan$0(NereidsPlanner.java:130) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.NereidsPlanner.planWithLock(NereidsPlanner.java:200) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.NereidsPlanner.plan(NereidsPlanner.java:124) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand.initPlan(InsertIntoTableCommand.java:152) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand.runInternal(InsertIntoTableCommand.java:221) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertIntoTableCommand.run(InsertIntoTableCommand.java:105) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertOverwriteTableCommand.runInsertCommand(InsertOverwriteTableCommand.java:212) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertOverwriteTableCommand.insertInto(InsertOverwriteTableCommand.java:275) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.nereids.trees.plans.commands.insert.InsertOverwriteTableCommand.run(InsertOverwriteTableCommand.java:183) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.job.extensions.mtmv.MTMVTask.exec(MTMVTask.java:239) ~[doris-fe.jar:1.2-SNAPSHOT]
at org.apache.doris.job.extensions.mtmv.MTMVTask.run(MTMVTask.java:201) ~[doris-fe.jar:1.2-SNAPSHOT]
... 6 more
物化视图建表语句:
CREATE MATERIALIZED VIEW test_db.test_mv
BUILD IMMEDIATE REFRESH AUTO ON SCHEDULE EVERY 10 MINUTE STARTS '2024-12-04 15:30:00'
PARTITION BY (`create_time`)
DISTRIBUTED BY RANDOM BUCKETS AUTO
PROPERTIES (
"replication_allocation" = "tag.location.default: 3",
"min_load_replica_num" = "-1",
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
"inverted_index_storage_format" = "V1",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"enable_single_replica_compaction" = "false",
"group_commit_interval_ms" = "10000",
"group_commit_data_bytes" = "134217728",
"enable_nondeterministic_function" = "true",
"partition_sync_limit" = "13",
"partition_sync_time_unit" = "MONTH"
)
AS SELECT
cor.id consume_order_record_id,
co.id consume_order_id,
co.account_id,
co.account_type,
if(co.account_type = 1, if(tei.id is not null, 1, 0), NULL) test_enterprise_flag,
if(co.account_type = 1, ei.name, NULL) enterprise_name,
co.user_id,
ui.nick_name user_name,
ui.phone,
co.user_type,
co.user_group,
co.product_code,
pcm1.product_name,
co.order_source,
pcm2.product_name order_source_name,
co.service_code,
sc.name service_name,
co.consumer_side,
cd3.`value` consumer_side_name,
co.bill_no,
co.pay_type,
cd1.`value` pay_type_name,
co.state,
cd2.`value` state_name,
COALESCE(cor.price, 0) cny_origin_amount,
COALESCE(cor.usd_price, 0) usd_origin_amount,
COALESCE(cor.total_amount, 0) cny_payable_amount,
COALESCE(cor.usd_total_amount, 0) usd_payable_amount,
COALESCE(cor.other_amount_total, 0) other_discount_amount,
COALESCE(cor.coupon_amount_total, 0) coupon_discount_amount,
COALESCE(cop.used_free_coupon_quantity, 0) free_coupon_quantity,
COALESCE(cop.used_valuable_coupon_quantity, 0) valuable_coupon_num_quantity,
COALESCE(cop.used_coupon_quantity, 0) coupon_quantity,
COALESCE(cop.used_coupon_worth, 0) coupon_worth,
COALESCE(cor.diff_amount, 0) cny_actual_paid_amount,
COALESCE(cor.usd_diff_amount, 0) usd_actual_paid_amount,
er.rate_value exchange_rate,
cor.consume_infos ,
cor.source operate_source,
cor.operate_user ,
co.source_order_id,
co.factor_param,
pt.port,
co.remark,
co.create_time order_create_time,
cor.create_time,
cor.update_time,
now() ts
FROM test_db.cor cor
left join test_db.co co on co.id = cor.consume_order_id
left join test_db.ei ei on ei.id = co.account_id
left join test_db.tei tei on tei.id = co.account_id
left join test_db.ui ui on ui.id = co.user_id
left join test_db.sc sc on sc.product_code = co.product_code and sc.code = co.service_code
left join test_db.er er on er.etd_month = DATE_FORMAT(co.create_time, '%Y-%m')
left join test_db.pcm pcm1 on pcm1.product_code = co.product_code
left join test_db.pcm pcm2 on pcm2.product_code = co.order_source
left join test_db.cd cd1 on cd1.col_fqn ='k1'
and cast(co.pay_type as varchar) = cd1.`key`
left join test_db.cd cd2 on cd2.col_fqn ='k2'
and cast(co.state as varchar) = cd2.`key`
left join test_db.cd cd3 on cd3.col_fqn ='k3'
and cast(co.consumer_side as varchar) = cd3.`key`
left join (
SELECT
consume_order_record_id,
COUNT(DISTINCT if(coupon_rollback_flag = 0 and coupon_price = 0, coupon_id, NULL)) used_free_coupon_quantity,
COUNT(DISTINCT if(coupon_rollback_flag = 0 and coupon_price > 0, coupon_id, NULL)) used_valuable_coupon_quantity,
COUNT(DISTINCT if(coupon_rollback_flag = 0, coupon_id, NULL)) used_coupon_quantity,
SUM(if(coupon_rollback_flag = 0, coupon_price, 0)) used_coupon_worth
FROM test_db.ddi_mv
group by consume_order_record_id
) cop on cop.consume_order_record_id = cor.id
left join (
select
consume_order_id,
CONCAT_WS('/',COLLECT_SET(value)) port
FROM
test_db.cei
where
`key` = 'port'
group by
consume_order_id
) pt on pt.consume_order_id = cor.consume_order_id
where cor.create_time >= date_trunc(months_sub(now(), 12), 'month')
物化视图表结构: