== Physical Plan == AdaptiveSparkPlan (20) +- == Final Plan == Execute InsertIntoHadoopFsRelationCommand (9) +- WriteFiles (8) +- * Project (7) +- * Project (6) +- * Project (5) +- AQEShuffleRead (4) +- ShuffleQueryStage (3), Statistics(sizeInBytes=416.0 B, rowCount=1) +- Exchange (2) +- * Scan JDBCRelation("SDATA_YEWU"."t_materials_list") [numPartitions=1] (1) +- == Initial Plan == Execute InsertIntoHadoopFsRelationCommand (19) +- WriteFiles (18) +- Project (17) +- Project (16) +- SortMergeJoin LeftOuter (15) :- Sort (11) : +- Exchange (10) : +- Scan JDBCRelation("SDATA_YEWU"."t_materials_list") [numPartitions=1] (1) +- Sort (14) +- Exchange (13) +- Scan JDBCRelation("SDATA_YEWU"."t_bpbjgl_warning_configure") [numPartitions=1] (12) (1) Scan JDBCRelation("SDATA_YEWU"."t_materials_list") [numPartitions=1] [codegen id : 1] Output [25]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506] 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#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506] Arguments: hashpartitioning(data_id#482, 200), ENSURE_REQUIREMENTS, [plan_id=551] (3) ShuffleQueryStage Output [25]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506] Arguments: 0 (4) AQEShuffleRead Input [25]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506] Arguments: coalesced (5) Project [codegen id : 3] Output [31]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, cast(null as string) AS material_number#648, cast(null as int) AS lower#650, cast(null as int) AS low#651, cast(null as int) AS HIGH#652, cast(null as int) AS higher#653, cast(null as int) AS warning_days#654] Input [25]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506] (6) Project [codegen id : 3] Output [28]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, warning_days#654, CASE WHEN (quantity#494 <= lower#650) THEN 库存数量低低限 WHEN ((quantity#494 <= low#651) AND (quantity#494 > lower#650)) THEN 库存数量低限 WHEN ((quantity#494 > low#651) AND (quantity#494 < HIGH#652)) THEN null WHEN ((quantity#494 >= HIGH#652) AND (quantity#494 < higher#653)) THEN 库存数量高限 WHEN (quantity#494 >= higher#653) THEN 库存数量高高限 END AS inventory_warning#953, datediff(2025-03-04, cast(warehouse_date#496 as date)) AS kl#955] Input [31]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, material_number#648, lower#650, low#651, HIGH#652, higher#653, warning_days#654] (7) Project [codegen id : 3] Output [29]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, cast(quantity#494 as decimal(38,0)) AS quantity#3141, warning_content#495, warehouse_date#496, cast(storage_age#497 as decimal(38,0)) AS storage_age#3144, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, cast(warning_days#654 as decimal(38,0)) AS warning_days#3154, inventory_warning#953, cast(kl#955 as decimal(38,0)) AS kl#3156, CASE WHEN (kl#955 >= warning_days#654) THEN 1 WHEN (kl#955 < warning_days#654) THEN 0 END AS warning_or_not#3157] Input [28]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, warning_days#654, inventory_warning#953, kl#955] (8) WriteFiles Input [29]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#3141, warning_content#495, warehouse_date#496, storage_age#3144, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, warning_days#3154, inventory_warning#953, kl#3156, warning_or_not#3157] (9) Execute InsertIntoHadoopFsRelationCommand Input: [] Arguments: file:/home/sdata/tomcat/webapps/storage_area/private/config/123456789/钱嘉乐shurui/asset/datafile/tmp/4846938189466624, false, Parquet, [path=/home/sdata/tomcat/webapps/storage_area/private/config/123456789/钱嘉乐shurui/asset/datafile/tmp/4846938189466624], 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] (10) Exchange Input [25]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506] Arguments: hashpartitioning(data_id#482, 200), ENSURE_REQUIREMENTS, [plan_id=538] (11) Sort Input [25]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506] Arguments: [data_id#482 ASC NULLS FIRST], false, 0 (12) Scan JDBCRelation("SDATA_YEWU"."t_bpbjgl_warning_configure") [numPartitions=1] Output [6]: [material_number#648, lower#650, low#651, HIGH#652, higher#653, warning_days#654] PushedFilters: [*IsNotNull(material_number)] ReadSchema: struct<material_number:string,lower:int,low:int,HIGH:int,higher:int,warning_days:int> (13) Exchange Input [6]: [material_number#648, lower#650, low#651, HIGH#652, higher#653, warning_days#654] Arguments: hashpartitioning(material_number#648, 200), ENSURE_REQUIREMENTS, [plan_id=539] (14) Sort Input [6]: [material_number#648, lower#650, low#651, HIGH#652, higher#653, warning_days#654] Arguments: [material_number#648 ASC NULLS FIRST], false, 0 (15) SortMergeJoin Left keys [1]: [data_id#482] Right keys [1]: [material_number#648] Join type: LeftOuter Join condition: None (16) Project Output [28]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, warning_days#654, CASE WHEN (quantity#494 <= lower#650) THEN 库存数量低低限 WHEN ((quantity#494 <= low#651) AND (quantity#494 > lower#650)) THEN 库存数量低限 WHEN ((quantity#494 > low#651) AND (quantity#494 < HIGH#652)) THEN null WHEN ((quantity#494 >= HIGH#652) AND (quantity#494 < higher#653)) THEN 库存数量高限 WHEN (quantity#494 >= higher#653) THEN 库存数量高高限 END AS inventory_warning#953, datediff(2025-03-04, cast(warehouse_date#496 as date)) AS kl#955] Input [31]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, material_number#648, lower#650, low#651, HIGH#652, higher#653, warning_days#654] (17) Project Output [29]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, cast(quantity#494 as decimal(38,0)) AS quantity#3141, warning_content#495, warehouse_date#496, cast(storage_age#497 as decimal(38,0)) AS storage_age#3144, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, cast(warning_days#654 as decimal(38,0)) AS warning_days#3154, inventory_warning#953, cast(kl#955 as decimal(38,0)) AS kl#3156, CASE WHEN (kl#955 >= warning_days#654) THEN 1 WHEN (kl#955 < warning_days#654) THEN 0 END AS warning_or_not#3157] Input [28]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#494, warning_content#495, warehouse_date#496, storage_age#497, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, warning_days#654, inventory_warning#953, kl#955] (18) WriteFiles Input [29]: [data_id#482, material_code#483, material_name#484, model#485, unit#486, whether_audited#487, specification#488, brand#489, bom_number#490, material_number_erp#491, material_description#492, material_note#493, quantity#3141, warning_content#495, warehouse_date#496, storage_age#3144, whether_age_warning#498, del_flag#499, create_member#500, office_id#501, create_time#502, create_member_ip_address#503, last_modifier#504, last_modify_time#505, last_modify_ip_address#506, warning_days#3154, inventory_warning#953, kl#3156, warning_or_not#3157] (19) Execute InsertIntoHadoopFsRelationCommand Input: [] Arguments: file:/home/sdata/tomcat/webapps/storage_area/private/config/123456789/钱嘉乐shurui/asset/datafile/tmp/4846938189466624, false, Parquet, [path=/home/sdata/tomcat/webapps/storage_area/private/config/123456789/钱嘉乐shurui/asset/datafile/tmp/4846938189466624], 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] (20) AdaptiveSparkPlan Output: [] Arguments: isFinalPlan=true