Egor Ryashin
04/03/2024, 5:10 PMResultFormat open for extension, it will allow to create arbitrary ResultFormat.Writer for exporting formats, for example here instead of CSV a user could specify PARQUET, XSL (and so on) by loading a relative Druid extension.
INSERT INTO
EXTERN(
S3(bucket => 'your_bucket', prefix => 'prefix/to/files')
)
AS CSV
SELECT
<column>
FROM <table>
The problem is ResultFormat is enum right now. I propose instead of using values() in ResultFormat.fromString() - there should be a Guice MapBinder that can collect ResultFormat.Writer implementations from different extensions (as well as from core lib).
I wonder if anyone working on that right now or has some insight/plans?Adarsh Sanjeev
04/04/2024, 10:50 AMEgor Ryashin
04/05/2024, 8:58 AMAdarsh Sanjeev
04/06/2024, 8:36 AMEgor Ryashin
04/16/2024, 8:57 AMstorageConnector opens a file for every incoming frame, while Parquet API doesn’t allow to append to a file. So possible options:
• either rewriting all storage connector interface and implementations to give out a file handle instead
• saving a new file for each frame (inefficient)
I guess there can be some other approach I’m not yet awareEgor Ryashin
04/16/2024, 8:57 AMAdarsh Sanjeev
04/23/2024, 1:14 PMEgor Ryashin
04/23/2024, 1:17 PM