druid/extensions-contrib
Clint Wylie f8301a314f
generic block compressed complex columns (#16863)
changes:
* Adds new `CompressedComplexColumn`, `CompressedComplexColumnSerializer`, `CompressedComplexColumnSupplier` based on `CompressedVariableSizedBlobColumn` used by JSON columns
* Adds `IndexSpec.complexMetricCompression` which can be used to specify compression for the generic compressed complex column. Defaults to uncompressed because compressed columns are not backwards compatible.
* Adds new definition of `ComplexMetricSerde.getSerializer` which accepts an `IndexSpec` argument when creating a serializer. The old signature has been marked `@Deprecated` and has a default implementation that returns `null`, but it will be used by the default implementation of the new version if it is implemented to return a non-null value. The default implementation of the new method will use a `CompressedComplexColumnSerializer` if `IndexSpec.complexMetricCompression` is not null/none/uncompressed, or will use `LargeColumnSupportedComplexColumnSerializer` otherwise.
* Removed all duplicate generic implementations of `ComplexMetricSerde.getSerializer` and `ComplexMetricSerde.deserializeColumn` into default implementations `ComplexMetricSerde` instead of being copied all over the place. The default implementation of `deserializeColumn` will check if the first byte indicates that the new compression was used, otherwise will use the `GenericIndexed` based supplier.
* Complex columns with custom serializers/deserializers are unaffected and may continue doing whatever it is they do, either with specialized compression or whatever else, this new stuff is just to provide generic implementations built around `ObjectStrategy`.
* add ObjectStrategy.readRetainsBufferReference so CompressedComplexColumn only copies on read if required
* add copyValueOnRead flag down to CompressedBlockReader to avoid buffer duplicate if the value needs copied anyway
2024-08-27 00:34:41 -07:00
..
aliyun-oss-extensions Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
ambari-metrics-emitter Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
cassandra-storage Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
cloudfiles-extensions Bump jclouds.version from 2.5.0 to 2.6.0 (#16796) 2024-07-29 14:49:26 +08:00
compressed-bigdecimal generic block compressed complex columns (#16863) 2024-08-27 00:34:41 -07:00
ddsketch generic block compressed complex columns (#16863) 2024-08-27 00:34:41 -07:00
distinctcount Segments sorted by non-time columns. (#16849) 2024-08-23 08:24:43 -07:00
dropwizard-emitter Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
druid-deltalake-extensions Handle Delta StructType, ArrayType and MapType (#16884) 2024-08-13 07:50:03 -07:00
druid-iceberg-extensions IcebergInputSource : Add option to toggle case sensitivity while reading columns from iceberg catalog (#16496) 2024-05-31 10:18:52 -07:00
gce-extensions Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
graphite-emitter Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
influx-extensions Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
influxdb-emitter Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
kafka-emitter Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
kubernetes-overlord-extensions Add annotation for pod template (#16772) 2024-07-23 07:25:15 -07:00
materialized-view-maintenance remove Firehose and FirehoseFactory (#16758) 2024-07-19 14:37:21 -07:00
materialized-view-selection remove isDescending from Query interface, move to TimeseriesQuery (#16917) 2024-08-19 23:02:45 -07:00
momentsketch generic block compressed complex columns (#16863) 2024-08-27 00:34:41 -07:00
moving-average-query rework cursor creation (#16533) 2024-08-16 11:34:10 -07:00
opentelemetry-emitter Bump io.grpc:grpc-netty-shaded from 1.57.2 to 1.65.1 (#16731) 2024-07-29 14:51:39 +08:00
opentsdb-emitter Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
prometheus-emitter remove Firehose and FirehoseFactory (#16758) 2024-07-19 14:37:21 -07:00
rabbit-stream-indexing-service generic block compressed complex columns (#16863) 2024-08-27 00:34:41 -07:00
redis-cache Remove incorrect utf8 conversion of ResultCache keys (#16569) 2024-06-12 13:12:05 -07:00
spectator-histogram generic block compressed complex columns (#16863) 2024-08-27 00:34:41 -07:00
sqlserver-metadata-storage Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
statsd-emitter Add indexer task success and failure metrics (#16829) 2024-08-05 16:21:27 +05:30
tdigestsketch generic block compressed complex columns (#16863) 2024-08-27 00:34:41 -07:00
thrift-extensions Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
time-min-max Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
virtual-columns Prepare master branch for 31.0.0 release (#16333) 2024-04-26 09:22:43 +05:30
README.md fix broken links (#9537) 2020-03-22 17:41:18 -07:00

README.md

Community Extensions

Please contribute all community extensions in this directory and include a doc of how your extension can be used under docs/development/extensions-contrib/.

Please note that community extensions are maintained by their original contributors and are not packaged with the core Druid distribution. If you'd like to take on maintenance for a community extension, please post on dev@druid.apache.org to let us know!