-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
Is your feature request related to a problem? Please describe.
So far, we've had several independent requests for supporting ClickHouse output. It makes sense to add it.
Describe the solution you'd like
The most straightforward and efficient way to support ClickHouse would be to implement the connector natively in the Rust engine. For that, there are several crate choices:
clickhouse-rs, provided as an official ClickHouse client;- An unofficial ClickHouse Rust client.
Both have MIT/Apache 2.0 license permitting the usage here.
The choice is not obvious since the official crate doesn't support schema specification at runtime, judging by the issues I have found in the repository: [1], [2]. It's therefore complex to make the Pathway case work with the official crate without doing hacks/forking the implementation and customizing it. Hence, I'm more inclined towards the second client usage - it was recommended by the maintainers of the official crate several times, as well.
At the end, the solution must be accessible by pw.io.clickhouse.write.
Describe alternatives you've considered
The crate choice considerations have been described above.