Hi, as the doc said: 
'The BulkFormat reads and decodes batches of records at a time.' So, the bulk 
is not binded to column format, the bulk writer for csv is indeed implemented 
in the Flink code. Actaully, you can use either Row or Bulk depending on what 
style you would like to write data. 

As for the doc missing for CSV BulkFormat and not public in flink-csv, I really 
don't know why. I guess the reason maybe Flink won't expose it the datastream 
api, but only expose to table api. 

Best regards, 
Yuxia 


发件人: "User" <user@flink.apache.org> 
收件人: "User" <user@flink.apache.org> 
发送时间: 星期二, 2023年 3 月 07日 下午 7:35:47 
主题: CSV File Sink in Streaming Use Case 

Hi, 

I am working on a Java DataStream application and need to implement a File sink 
with CSV format. 

I see that I have two options here - Row and Bulk ( [ 
https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/connectors/datastream/filesystem/#format-types-1
 | 
https://nightlies.apache.org/flink/flink-docs-release-1.16/docs/connectors/datastream/filesystem/#format-types-1
 ] ) 

So for CSV file distribution which one should I use? Row or Bulk? 

I think the documentation is confusing for File connectors. Because I can see 
an example for PyFlink which uses a BulkWriter for CSV. But the same class is 
not public in flink-csv. So does Flink not support CSVBulkWriter for Java? 

And for Table API File sink explicitly supports CSV for Row format. But fails 
to mention anything about CSV in DataStream File sink. 

This all is just really confusing. Any leads on this are much appreciated. 

Thanks 

Reply via email to