== Physical Plan == AdaptiveSparkPlan (25) +- == Final Plan == Execute InsertIntoHadoopFsRelationCommand (15) +- WriteFiles (14) +- * Project (13) +- * Project (12) +- * BroadcastHashJoin LeftOuter BuildRight (11) :- AQEShuffleRead (4) : +- ShuffleQueryStage (3), Statistics(sizeInBytes=416.0 B, rowCount=1) : +- Exchange (2) : +- * Scan JDBCRelation("SDATA_YEWU"."t_materials_list") [numPartitions=1] (1) +- BroadcastQueryStage (10), Statistics(sizeInBytes=32.0 MiB, rowCount=1) +- BroadcastExchange (9) +- AQEShuffleRead (8) +- ShuffleQueryStage (7), Statistics(sizeInBytes=80.0 B, rowCount=1) +- Exchange (6) +- * Scan JDBCRelation("SDATA_YEWU"."t_bpbjgl_warning_configure") [numPartitions=1] (5) +- == Initial Plan == Execute InsertIntoHadoopFsRelationCommand (24) +- WriteFiles (23) +- Project (22) +- Project (21) +- SortMergeJoin LeftOuter (20) :- Sort (17) : +- Exchange (16) : +- Scan JDBCRelation("SDATA_YEWU"."t_materials_list") [numPartitions=1] (1) +- Sort (19) +- Exchange (18) +- Scan JDBCRelation("SDATA_YEWU"."t_bpbjgl_warning_configure") [numPartitions=1] (5) (1) Scan JDBCRelation("SDATA_YEWU"."t_materials_list") [numPartitions=1] [codegen id : 1] Output [25]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050] ReadSchema: struct<data_id:string,material_code:string,material_name:string,model:string,unit:string,whether_audited:string,specification:string,brand:string,bom_number:string,material_number_erp:string,material_description:string,material_note:string,quantity:int,warning_content:string,warehouse_date:timestamp,storage_age:int,whether_age_warning:string,del_flag:string,create_member:string,office_id:string,create_time:timestamp,create_member_ip_address:string,last_modifier:string,last_modify_time:timestamp,last_modify_ip_address:string> (2) Exchange Input [25]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050] Arguments: hashpartitioning(data_id#24026, 200), ENSURE_REQUIREMENTS, [plan_id=8217] (3) ShuffleQueryStage Output [25]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050] Arguments: 0 (4) AQEShuffleRead Input [25]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050] Arguments: local (5) Scan JDBCRelation("SDATA_YEWU"."t_bpbjgl_warning_configure") [numPartitions=1] [codegen id : 2] Output [6]: [material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] PushedFilters: [*IsNotNull(material_number)] ReadSchema: struct<material_number:string,lower:int,low:int,HIGH:int,higher:int,warning_days:int> (6) Exchange Input [6]: [material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] Arguments: hashpartitioning(material_number#24192, 200), ENSURE_REQUIREMENTS, [plan_id=8227] (7) ShuffleQueryStage Output [6]: [material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] Arguments: 1 (8) AQEShuffleRead Input [6]: [material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] Arguments: local (9) BroadcastExchange Input [6]: [material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] Arguments: HashedRelationBroadcastMode(List(input[0, string, true]),false), [plan_id=8314] (10) BroadcastQueryStage Output [6]: [material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] Arguments: 2 (11) BroadcastHashJoin [codegen id : 3] Left keys [1]: [data_id#24026] Right keys [1]: [material_number#24192] Join type: LeftOuter Join condition: None (12) Project [codegen id : 3] Output [28]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, warning_days#24198, CASE WHEN (quantity#24038 <= lower#24194) THEN 库存数量低低限 WHEN ((quantity#24038 <= low#24195) AND (quantity#24038 > lower#24194)) THEN 库存数量低限 WHEN ((quantity#24038 > low#24195) AND (quantity#24038 < HIGH#24196)) THEN null WHEN ((quantity#24038 >= HIGH#24196) AND (quantity#24038 < higher#24197)) THEN 库存数量高限 WHEN (quantity#24038 >= higher#24197) THEN 库存数量高高限 END AS inventory_warning#24296, datediff(2025-03-10, cast(warehouse_date#24040 as date)) AS kl#24297] Input [31]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] (13) Project [codegen id : 3] Output [29]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, cast(quantity#24038 as decimal(38,0)) AS quantity#25267, warning_content#24039, warehouse_date#24040, cast(storage_age#24041 as decimal(38,0)) AS storage_age#25270, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, cast(warning_days#24198 as decimal(38,0)) AS warning_days#25280, inventory_warning#24296, cast(kl#24297 as decimal(38,0)) AS kl#25282, CASE WHEN (kl#24297 >= warning_days#24198) THEN 1 WHEN (kl#24297 < warning_days#24198) THEN 0 END AS warning_or_not#25283] Input [28]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, warning_days#24198, inventory_warning#24296, kl#24297] (14) WriteFiles Input [29]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#25267, warning_content#24039, warehouse_date#24040, storage_age#25270, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, warning_days#25280, inventory_warning#24296, kl#25282, warning_or_not#25283] (15) Execute InsertIntoHadoopFsRelationCommand Input: [] Arguments: file:/home/sdata/tomcat/webapps/storage_area/private/config/123456789/钱嘉乐shurui/asset/datafile/tmp/4914885586717696, false, Parquet, [path=/home/sdata/tomcat/webapps/storage_area/private/config/123456789/钱嘉乐shurui/asset/datafile/tmp/4914885586717696], Overwrite, [data_id, material_code, material_name, model, unit, whether_audited, specification, brand, bom_number, material_number_erp, material_description, material_note, quantity, warning_content, warehouse_date, storage_age, whether_age_warning, del_flag, create_member, office_id, create_time, create_member_ip_address, last_modifier, last_modify_time, ... 5 more fields] (16) Exchange Input [25]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050] Arguments: hashpartitioning(data_id#24026, 200), ENSURE_REQUIREMENTS, [plan_id=8204] (17) Sort Input [25]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050] Arguments: [data_id#24026 ASC NULLS FIRST], false, 0 (18) Exchange Input [6]: [material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] Arguments: hashpartitioning(material_number#24192, 200), ENSURE_REQUIREMENTS, [plan_id=8205] (19) Sort Input [6]: [material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] Arguments: [material_number#24192 ASC NULLS FIRST], false, 0 (20) SortMergeJoin Left keys [1]: [data_id#24026] Right keys [1]: [material_number#24192] Join type: LeftOuter Join condition: None (21) Project Output [28]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, warning_days#24198, CASE WHEN (quantity#24038 <= lower#24194) THEN 库存数量低低限 WHEN ((quantity#24038 <= low#24195) AND (quantity#24038 > lower#24194)) THEN 库存数量低限 WHEN ((quantity#24038 > low#24195) AND (quantity#24038 < HIGH#24196)) THEN null WHEN ((quantity#24038 >= HIGH#24196) AND (quantity#24038 < higher#24197)) THEN 库存数量高限 WHEN (quantity#24038 >= higher#24197) THEN 库存数量高高限 END AS inventory_warning#24296, datediff(2025-03-10, cast(warehouse_date#24040 as date)) AS kl#24297] Input [31]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, material_number#24192, lower#24194, low#24195, HIGH#24196, higher#24197, warning_days#24198] (22) Project Output [29]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, cast(quantity#24038 as decimal(38,0)) AS quantity#25267, warning_content#24039, warehouse_date#24040, cast(storage_age#24041 as decimal(38,0)) AS storage_age#25270, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, cast(warning_days#24198 as decimal(38,0)) AS warning_days#25280, inventory_warning#24296, cast(kl#24297 as decimal(38,0)) AS kl#25282, CASE WHEN (kl#24297 >= warning_days#24198) THEN 1 WHEN (kl#24297 < warning_days#24198) THEN 0 END AS warning_or_not#25283] Input [28]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#24038, warning_content#24039, warehouse_date#24040, storage_age#24041, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, warning_days#24198, inventory_warning#24296, kl#24297] (23) WriteFiles Input [29]: [data_id#24026, material_code#24027, material_name#24028, model#24029, unit#24030, whether_audited#24031, specification#24032, brand#24033, bom_number#24034, material_number_erp#24035, material_description#24036, material_note#24037, quantity#25267, warning_content#24039, warehouse_date#24040, storage_age#25270, whether_age_warning#24042, del_flag#24043, create_member#24044, office_id#24045, create_time#24046, create_member_ip_address#24047, last_modifier#24048, last_modify_time#24049, last_modify_ip_address#24050, warning_days#25280, inventory_warning#24296, kl#25282, warning_or_not#25283] (24) Execute InsertIntoHadoopFsRelationCommand Input: [] Arguments: file:/home/sdata/tomcat/webapps/storage_area/private/config/123456789/钱嘉乐shurui/asset/datafile/tmp/4914885586717696, false, Parquet, [path=/home/sdata/tomcat/webapps/storage_area/private/config/123456789/钱嘉乐shurui/asset/datafile/tmp/4914885586717696], Overwrite, [data_id, material_code, material_name, model, unit, whether_audited, specification, brand, bom_number, material_number_erp, material_description, material_note, quantity, warning_content, warehouse_date, storage_age, whether_age_warning, del_flag, create_member, office_id, create_time, create_member_ip_address, last_modifier, last_modify_time, ... 5 more fields] (25) AdaptiveSparkPlan Output: [] Arguments: isFinalPlan=true