2.1.6物化视图刷新失败

Viewed 48

物化视图任务空指针异常,错误堆栈:

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')

物化视图表结构:
image.png

1 Answers

麻烦提供一下物化视图的创建语句和对应的表结构,更新在提问内容中即可。