seatunnel
seatunnel copied to clipboard
[Feature][ConnectorV2]add file excel sink
Purpose of this pull request
add [File]excel sink https://github.com/apache/incubator-seatunnel/issues/1946
Check list
- [x] Code changed are covered with tests, or it does not need tests for reason:
- [ ] If any new Jar binary package adding in your PR, please add License Notice according New License Guide
- [ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs
@TyrantLucifer Hi, PTAL
You e2e test cases also have some problems, please check.
You e2e test cases also have some problems, please check.
If I add this code, Excel sink Write's
finishAndCloseWriteFile
method will be called twice when executed with Flink, resulting in an error!
However, if you remove this code and run it with Spark, Text sink Write is executed instead of Excel sink Write
You e2e test cases also have some problems, please check.
If I add this code, Excel sink Write's
finishAndCloseWriteFile
method will be called twice when executed with Flink, resulting in an error!However, if you remove this code and run it with Spark, Text sink Write is executed instead of Excel sink Write
Can you provide the detailed call stack information?
You e2e test cases also have some problems, please check.
If I add this code, Excel sink Write's
finishAndCloseWriteFile
method will be called twice when executed with Flink, resulting in an error! However, if you remove this code and run it with Spark, Text sink Write is executed instead of Excel sink WriteCan you provide the detailed call stack information?
SparkDataWriter's
commit()
method clears commitInfo
after execution, However, the prepareCommit
of FlinkSinkWrite
does not clear commitInfo, so it writes ExcelWorkBook
when it calls the close() method of FlinkSlinkWrite
, but it does the WorkBook when it executes prepareCommit
It has been closed.
I don't understand why SparkDataWriter and FlinkSinkWrite have different commit logic. Do I need to determine whether the workbook is close in finishAndCloseWriteFile
?
You e2e test cases also have some problems, please check.
If I add this code, Excel sink Write's
finishAndCloseWriteFile
method will be called twice when executed with Flink, resulting in an error! However, if you remove this code and run it with Spark, Text sink Write is executed instead of Excel sink WriteCan you provide the detailed call stack information?
![]()
SparkDataWriter's
commit()
method clearscommitInfo
after execution, However, theprepareCommit
ofFlinkSinkWrite
does not clear commitInfo, so it writesExcelWorkBook
when it calls the close() method ofFlinkSlinkWrite
, but it does the WorkBook when it executesprepareCommit
It has been closed. I don't understand why SparkDataWriter and FlinkSinkWrite have different commit logic. Do I need to determine whether the workbook is close infinishAndCloseWriteFile
?
The reason already in comment: combine the prepareCommit and commit in this method.
. Flink Support Committer and GlobalCommitter, but spark only support GlobalCommitter(same logic different name). So spark use commit() to run prepareCommit() and Committer.commit().
You e2e test cases also have some problems, please check.
If I add this code, Excel sink Write's
finishAndCloseWriteFile
method will be called twice when executed with Flink, resulting in an error! However, if you remove this code and run it with Spark, Text sink Write is executed instead of Excel sink WriteCan you provide the detailed call stack information?
![]()
![]()
SparkDataWriter's
commit()
method clearscommitInfo
after execution, However, theprepareCommit
ofFlinkSinkWrite
does not clear commitInfo, so it writesExcelWorkBook
when it calls the close() method ofFlinkSlinkWrite
, but it does the WorkBook when it executesprepareCommit
It has been closed. I don't understand why SparkDataWriter and FlinkSinkWrite have different commit logic. Do I need to determine whether the workbook is close infinishAndCloseWriteFile
?The reason already in comment:
combine the prepareCommit and commit in this method.
. Flink Support Committer and GlobalCommitter, but spark only support GlobalCommitter(same logic different name). So spark use commit() to run prepareCommit() and Committer.commit().
ok,My local E2E and compile passed, but CI/CD failed and I didn't use ES.
Your e2e not passed, please solve the problem. Thanks
Your e2e not passed, please solve the problem. Thanks
When using SXSSFWorkbook to create a sheet,local operation is normal, but E2E will report an error. using openjdk will report a null pointer exception because there is no font. reference: https://blog.csdn.net/progammer10086/article/details/107154814?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-107154814-blog-116048731.t0_edu_mlt&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-107154814-blog-116048731.t0_edu_mlt&utm_relevant_index=6
Your e2e not passed, please solve the problem. Thanks
When using SXSSFWorkbook to create a sheet,local operation is normal, but E2E will report an error. using openjdk will report a null pointer exception because there is no font. reference: https://blog.csdn.net/progammer10086/article/details/107154814?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-107154814-blog-116048731.t0_edu_mlt&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-107154814-blog-116048731.t0_edu_mlt&utm_relevant_index=6
Can you install font in docker before you submit job use executeExtraCommands
? And add doc to tell users if they use openjdk, what should them do.
Hi, @Bingz2 thanks for your contribution, what's the news about this pr? Do you need some help?
Hi, @Bingz2 thanks for your contribution, what's the news about this pr? Do you need some help? Sorry, I'm a little busy recently. I'll finish it this weekend
Hi, @Bingz2 thanks for your contribution, what's the news about this pr? Do you need some help? Sorry, I'm a little busy recently. I'll finish it this weekend
Thank you very much.
@TyrantLucifer PTAL
Hi, @Bingz2 thanks for your contribution, what's the news about this pr? Do you need some help? Sorry, I'm a little busy recently. I'll finish it this weekend
Thank you very much.
An error in the CI,but I executed E2E locally with no errors,I don't know why.
Hi, @Bingz2 thanks for your contribution, what's the news about this pr? Do you need some help? Sorry, I'm a little busy recently. I'll finish it this weekend
Thank you very much.
An error in the CI,but I executed E2E locally with no errors,I don't know why.
Don't worry, just resolve conflicts and retry the CI, Thanks.
@Bingz2 Will this pr go ahead? If not, I would like to take over and finish it
@Bingz2 Will this pr go ahead? If not, I would like to take over and finish it
ok tks