iventong opened a new issue, #8961:
URL: https://github.com/apache/seatunnel/issues/8961

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22)
 and found no similar issues.
   
   
   ### What happened
   
   使用mongodb数据源,taxonomies_hierarchical.system.lvl2 是一个 
array<string>,当数据是单条是能正常处理,当大于1条是2条时,空指针异常
   "scrapy_time" : "2024-03-14 17:45:39",
       "permalink" : 
"https://asknature.org/strategy/fire-and-bison-grazing-in-grasslands-lead-to-diversity/";,
       "postId" : 2506,
       "taxonomies_hierarchical" : {
           "system" : {
               "lvl0" : [ 
                   "Animals", 
                   "Plants"
               ],
               "lvl1" : [ 
                   "Plants > Flowering Plants", 
                   "Animals > Vertebrates (Mammals, Fish, Birds, Reptiles)"
               ],
               "lvl2" : [ 
                   "Plants > Flowering Plants > Grasses", 
                   "Animals > Vertebrates (Mammals, Fish, Birds, Reptiles) > 
Mammals"
               ],
               "lvl3" : [ 
                   "Animals > Vertebrates (Mammals, Fish, Birds, Reptiles) > 
Mammals > Bison", 
                   "Plants > Flowering Plants > Grasses > Great Plains mesic 
grasslands"
               ]
           }
       },
   
   
   
   ### SeaTunnel Version
   
   2.3.9
   
   ### SeaTunnel Config
   
   ```conf
   source {
   MongoDB {
       plugin_output = "apiList2"
       uri = "***"
       database = "***"
       collection = "********"
       match.query = "{'scrapy_time':'2024-03-14 
17:45:39','case_id':1003,'taxonomies_hierarchical.function.lvl2':{$exists:true,$regex
 : />/ ,$gt:[]}}"
       schema = {
             fields {
               postId = int
               taxonomies_hierarchical = {
                   system = {
                       lvl0 = "array<string>"
                       lvl1 = "array<string>"
                       lvl2 = "array<string>"
                   }
               }
             }
           }
     }
   }
   
   transform {
   Sql {
       plugin_input = "apiList2"
       plugin_output = "apiList23"
       query = "select taxonomies_hierarchical.system.lvl2 as pnames FROM dual 
LATERAL VIEW EXPLODE ( pnames ) AS NAME"
     }
   }
   ```
   
   ### Running Command
   
   ```shell
   sh bin/seatunnel.sh -m local --config ./job/livingsystem_parent_to_mysql.conf
   ```
   
   ### Error Exception
   
   ```log
   添加日志后的异常日志,原始异常在 ZetaSQLFunction.java:305   处的 res = 
parRowValues.getFields()[idx];
   {"tableId":"","rowKind":"INSERT","fields":[null],"options":{}}
   
{"table":{"alias":null,"sampleClause":null,"pivot":null,"sqlServerHints":null,"name":"system","schemaName":"taxonomies_hierarchical","unPivot":null,"database":{"server":null,"databaseName":null},"astnode":null},"columnName":"lvl2","commentText":null,"arrayConstructor":null,"astnode":{"id":25}}
   2025-03-12 07:03:48,003 WARN  [o.a.s.e.s.TaskExecutionService] 
[BlockingWorker-TaskGroupLocation{jobId=951978715640758273, pipelineId=1, 
taskGroupId=30000}] - [localhost]:5801 [seatunnel-824237] [5.1] Exception in 
org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask@10cd8854
   java.lang.NullPointerException: null
        at 
org.apache.seatunnel.transform.sql.zeta.ZetaSQLFunction.computeForValue(ZetaSQLFunction.java:307)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.transform.sql.zeta.ZetaSQLEngine.project(ZetaSQLEngine.java:283)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.transform.sql.zeta.ZetaSQLEngine.transformBySQL(ZetaSQLEngine.java:249)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.transform.sql.SQLTransform.transformRow(SQLTransform.java:110)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.transform.sql.SQLTransform.transformRow(SQLTransform.java:46)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.transform.common.AbstractSeaTunnelTransform.transform(AbstractSeaTunnelTransform.java:80)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.transform.common.AbstractCatalogSupportFlatMapTransform.flatMap(AbstractCatalogSupportFlatMapTransform.java:44)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.transform.common.AbstractCatalogSupportFlatMapTransform.flatMap(AbstractCatalogSupportFlatMapTransform.java:28)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.transform.common.AbstractMultiCatalogFlatMapTransform.flatMap(AbstractMultiCatalogFlatMapTransform.java:41)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.transform.common.AbstractMultiCatalogFlatMapTransform.flatMap(AbstractMultiCatalogFlatMapTransform.java:28)
 ~[seatunnel-transforms-v2.jar:2.3.10-SNAPSHOT]
        at 
org.apache.seatunnel.engine.server.task.flow.TransformFlowLifeCycle.transform(TransformFlowLifeCycle.java:146)
 ~[seatunnel-starter.jar:2.3.9]
        at 
org.apache.seatunnel.engine.server.task.flow.TransformFlowLifeCycle.received(TransformFlowLifeCycle.java:122)
 ~[seatunnel-starter.jar:2.3.9]
        at 
org.apache.seatunnel.engine.server.task.flow.TransformFlowLifeCycle.received(TransformFlowLifeCycle.java:43)
 ~[seatunnel-starter.jar:2.3.9]
        at 
org.apache.seatunnel.engine.server.task.SeaTunnelSourceCollector.sendRecordToNext(SeaTunnelSourceCollector.java:195)
 ~[seatunnel-starter.jar:2.3.9]
        at 
org.apache.seatunnel.engine.server.task.SeaTunnelSourceCollector.collect(SeaTunnelSourceCollector.java:112)
 ~[seatunnel-starter.jar:2.3.9]
        at 
java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) 
~[?:1.8.0_191]
        at 
java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) 
~[?:1.8.0_191]
        at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[?:1.8.0_191]
   ```
   
   ### Zeta or Flink or Spark Version
   
   zata
   
   ### Java or Scala Version
   
   1.8
   
   ### Screenshots
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@seatunnel.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to