Thank you ColinLee for your work to bring the TsFile support to druid.

On Mon, Nov 2, 2026 at 10:06 AM ColinLee <[email protected]> wrote:

> Hi all,
>
> A short follow-up to the discussion from August on adding Apache TsFile as
> an input format:
>
> https://lists.apache.org/thread/qmrkhobp7p07wkmcf4y4myq36k866zz0
>
> apache/druid#20729 has been merged into master (merged 2026-11-01 by Frank
> Chen), so the community extension we agreed on is now in the tree. Thank
> you for the review — it was thorough, and the extension is better for it.
>
> What landed
>
> extensions-contrib/tsfile-extensions (artifactId druid-tsfile-extensions),
> adding an InputFormat of type tsfile, implemented on
> org.apache.tsfile:tsfile:2.5.0 using the table-model reader.
>
> Batch ingestion works with both index_parallel specs and MSQ EXTERN.
> tables / columns select a subset of the file; interval is pushed down and
> uses the per-chunk time statistics to prune chunks.
> TsFile's implicit timestamp is exposed as Time (epoch millis), so specs
> use "timestampSpec": {"column": "Time", "format": "millis"}.
> Docs: docs/development/extensions-contrib/tsfile.md.
>
> The only new Druid dependencies are org.apache.tsfile:tsfile and
> org.apache.tsfile:common, both Apache-2.0; the transitive compression and
> parser libraries were already shipped by Druid. TsFile 2.5.0 required xz
> 1.10, which is why the root pom moved from 1.9 to 1.10 in the same PR.
>
> Current scope
>
> This first version reads the table model. Tree-model files are not
> supported yet, the format is not splittable (parallelism is one file per
> task from the input source), and VECTOR/OBJECT/ROW/UNKNOWN columns are
> rejected with an explicit error.
>
> As agreed, the TsFile community maintains this extension and runs its
> compatibility testing as TsFile evolves. Feedback and issues are very
> welcome here or against apache/druid — we'll follow up on both.
>
> Best regards,
>
> ColinLee, Apache TsFile PMC
>
>
>
>
>
>

Reply via email to