apache/seatunnel
View on GitHub[Bug] [oss-sink] parquet_avro_write_timestamp_as_int96 datetime类型字段名称大写会报错
Open
#10928 opened on May 22, 2026
bughelp wanted
Description
Search before asking
- I had searched in the issues and found no similar issues.
What happened
服务:mysql测试数据
数据表: db.xxxxx_channel_url
datetime数据列: createTime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
sink输出添加参数parquet_avro_write_timestamp_as_int96 = true,为了解决hive读取datetime问题(不添加参数只能是int类型)
SeaTunnel Version
2.3.13
SeaTunnel Config
env {
parallelism = 1
job.mode = "BATCH"
}
source {
Jdbc {
user="XXX"
password="XXX"
url="jdbc:mysql://mysql-test.internal.enlightent.com:3306/crawler?serverTimezone=GMT%2b8"
driver = "com.mysql.cj.jdbc.Driver"
query = "SELECT `createTime` FROM xxxx_channel_url"
}
}
sink {
OssFile {
path="/st_test/20260317"
bucket = "oss://zlw-test-2"
access_key = "xxx"
access_secret = "xxx"
endpoint = "oss-cn-beijing-internal.aliyuncs.com"
file_format_type = "parquet"
"compress_codec": "zstd"
"data_save_mode": "DROP_DATA"
parquet_avro_write_timestamp_as_int96 = true
}
}
Running Command
*****
Error Exception
2026-05-22 10:56:34,228 ERROR [a.s.m.MultiTableWriterRunnable] [st-multi-table-sink-writer-1] - MultiTableWriterRunnable error when write row SeaTunnelRow{tableId=db.xxx_channel_url, kind=+I, fields=[qq, tv, channel, sort=79&itype=12, , , 20, 4, tv, 0, 2025-06-24T17:39:36]}
java.lang.NullPointerException: null
at org.apache.seatunnel.connectors.seatunnel.file.sink.writer.ParquetWriteStrategy.resolveObject(ParquetWriteStrategy.java:255) ~[connector-file-oss-2.3.13.jar:2.3.13]
at org.apache.seatunnel.connectors.seatunnel.file.sink.writer.ParquetWriteStrategy.write(ParquetWriteStrategy.java:129) ~[connector-file-oss-2.3.13.jar:2.3.13]
at org.apache.seatunnel.connectors.seatunnel.file.sink.BaseFileSinkWriter.write(BaseFileSinkWriter.java:158) ~[connector-file-oss-2.3.13.jar:2.3.13]
at org.apache.seatunnel.connectors.seatunnel.file.sink.BaseFileSinkWriter.write(BaseFileSinkWriter.java:51) ~[connector-file-oss-2.3.13.jar:2.3.13]
at org.apache.seatunnel.api.sink.multitablesink.MultiTableWriterRunnable.run(MultiTableWriterRunnable.java:67) [seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.api.tracing.MDCRunnable.run(MDCRunnable.java:43) [seatunnel-starter.jar:2.3.13]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_412]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_412]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_412]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_412]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_412]
2026-05-22 10:56:34,695 WARN [o.a.s.e.s.TaskExecutionService] [BlockingWorker-TaskGroupLocation{jobId=1110038417443389441, pipelineId=1, taskGroupId=3}] - [localhost]:5803 [seatunnel-556308] [5.1] Exception in org.apache.seatunnel.engine.server.task.TransformSeaTunnelTask@3a3a8121
java.lang.RuntimeException: java.lang.RuntimeException: table crawler.crawler_channel_url sink throw error
at org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.received(SinkFlowLifeCycle.java:304) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.received(SinkFlowLifeCycle.java:70) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.SeaTunnelTransformCollector.collect(SeaTunnelTransformCollector.java:39) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.SeaTunnelTransformCollector.collect(SeaTunnelTransformCollector.java:27) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.group.queue.IntermediateBlockingQueue.handleRecord(IntermediateBlockingQueue.java:82) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.group.queue.IntermediateBlockingQueue.collect(IntermediateBlockingQueue.java:56) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.flow.IntermediateQueueFlowLifeCycle.collect(IntermediateQueueFlowLifeCycle.java:51) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.TransformSeaTunnelTask.collect(TransformSeaTunnelTask.java:72) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.SeaTunnelTask.stateProcess(SeaTunnelTask.java:165) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.TransformSeaTunnelTask.call(TransformSeaTunnelTask.java:77) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.TaskExecutionService$BlockingWorker.run(TaskExecutionService.java:683) [seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.TaskExecutionService$NamedTaskWrapper.run(TaskExecutionService.java:1012) [seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.api.tracing.MDCRunnable.run(MDCRunnable.java:43) [seatunnel-starter.jar:2.3.13]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_412]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_412]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_412]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_412]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_412]
Caused by: java.lang.RuntimeException: table crawler.crawler_channel_url sink throw error
at org.apache.seatunnel.api.sink.multitablesink.MultiTableSinkWriter.subSinkErrorCheck(MultiTableSinkWriter.java:141) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.api.sink.multitablesink.MultiTableSinkWriter.write(MultiTableSinkWriter.java:221) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.api.sink.multitablesink.MultiTableSinkWriter.write(MultiTableSinkWriter.java:48) ~[seatunnel-starter.jar:2.3.13]
at org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.received(SinkFlowLifeCycle.java:270) ~[seatunnel-starter.jar:2.3.13]
... 17 more
Caused by: java.lang.NullPointerException
at org.apache.seatunnel.connectors.seatunnel.file.sink.writer.ParquetWriteStrategy.resolveObject(ParquetWriteStrategy.java:255) ~[connector-file-oss-2.3.13.jar:2.3.13]
at org.apache.seatunnel.connectors.seatunnel.file.sink.writer.ParquetWriteStrategy.write(ParquetWriteStrategy.java:129) ~[connector-file-oss-2.3.13.jar:2.3.13]
at org.apache.seatunnel.connectors.seatunnel.file.sink.BaseFileSinkWriter.write(BaseFileSinkWriter.java:158) ~[connector-file-oss-2.3.13.jar:2.3.13]
at org.apache.seatunnel.connectors.seatunnel.file.sink.BaseFileSinkWriter.write(BaseFileSinkWriter.java:51) ~[connector-file-oss-2.3.13.jar:2.3.13]
at org.apache.seatunnel.api.sink.multitablesink.MultiTableWriterRunnable.run(MultiTableWriterRunnable.java:67) ~[seatunnel-starter.jar:2.3.13]
Zeta or Flink or Spark Version
zeta
Java or Scala Version
Screenshots
No response
Are you willing to submit PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct