Skip to content

[Bug] java.lang.Double cannot be cast to java.lang.String #7759

@sudj-ll

Description

@sudj-ll

Search before asking

  • I had searched in the issues and found no similar issues.

What happened

image

SeaTunnel Version

2.3.7

SeaTunnel Config

{
   "env":
   {
      "execution.parallelism":"1",
      "job.mode":"BATCH",
      "spark.executor.cores":0
   },
   "sink":
   [
      {
         "batch_interval_ms":3000,
         "batch_size":3000,
         "database":"wtg_test",
         "driver":"com.mysql.cj.jdbc.Driver",
         "generate_sink_sql":true,
         "password":"xxxxxxxxx",
         "plugin_name":"jdbc",
         "source_table_name":"测试",
         "table":"file_xls_test",
         "url":"jdbc:mysql://xxxxxx:xxxx/wtg_test?serverTimezone=GMT%2b8&characterEncoding=utf-8",
         "user":"xxxx"
      }

   ],
   "source":
   [
      {
         "file_format_type":"excel",
         "path":"/data/files/测试8.xlsx",
         "plugin_name":"LocalFile",
         "result_table_name":"测试",
         "schema":
         {
            "fields":
            {
               "a":"string",
               "b":"string",
               "c":"string",
               "d":"string"
            }

         },
         "sheet_name":"Sheet1",
         "skip_header_row_number":1
      }

   ],
   "transform":
   [
      
   ]

}

Running Command

sh /opt/apache-seatunnel-2.3.7/bin/seatunnel.sh --config /opt/apache-seatunnel-2.3.7/config/task-074a3aa92b0b89de.json --name fileMigration_task-074a3aa92b0b89de.1727403853_1727403853138 -e local

Error Exception

2024-09-27 16:25:12,478 ERROR [o.a.s.c.s.SeaTunnel           ] [main] - Exception StackTrace:org.apache.seatunnel.core.starter.exception.CommandExecuteException: SeaTunnel job executed failed
        at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:211)
        at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40)
        at org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:34)
Caused by: org.apache.seatunnel.engine.common.exception.SeaTunnelEngineException: org.apache.seatunnel.connectors.seatunnel.file.exception.FileConnectorException: ErrorCode:[FILE-08], ErrorDescription:[File read failed] - Read data from this file [测试_file:/data/files/测试8.xlsx] failed
        at org.apache.seatunnel.connectors.seatunnel.file.source.reader.MultipleTableFileSourceReader.pollNext(MultipleTableFileSourceReader.java:85)
        at org.apache.seatunnel.engine.server.task.flow.SourceFlowLifeCycle.collect(SourceFlowLifeCycle.java:156)
        at org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.collect(SourceSeaTunnelTask.java:127)
        at org.apache.seatunnel.engine.server.task.SeaTunnelTask.stateProcess(SeaTunnelTask.java:168)
        at org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.call(SourceSeaTunnelTask.java:132)
        at org.apache.seatunnel.engine.server.TaskExecutionService$BlockingWorker.run(TaskExecutionService.java:717)
        at org.apache.seatunnel.engine.server.TaskExecutionService$NamedTaskWrapper.run(TaskExecutionService.java:1039)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String
        at org.apache.seatunnel.api.table.type.SeaTunnelRow.getBytesForValue(SeaTunnelRow.java:120)
        at org.apache.seatunnel.api.table.type.SeaTunnelRow.getBytesSize(SeaTunnelRow.java:105)
        at org.apache.seatunnel.engine.server.task.SeaTunnelSourceCollector.collect(SeaTunnelSourceCollector.java:125)
        at org.apache.seatunnel.connectors.seatunnel.file.source.reader.ExcelReadStrategy.lambda$read$0(ExcelReadStrategy.java:131)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
        at java.util.stream.IntPipeline$4$1.accept(IntPipeline.java:250)
        at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:110)
        at java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:693)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
        at org.apache.seatunnel.connectors.seatunnel.file.source.reader.ExcelReadStrategy.read(ExcelReadStrategy.java:106)
        at org.apache.seatunnel.connectors.seatunnel.file.source.reader.MultipleTableFileSourceReader.pollNext(MultipleTableFileSourceReader.java:81)
        ... 11 more

        at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:203)
        ... 2 more

Zeta or Flink or Spark Version

No response

Java or Scala Version

No response

Screenshots

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions