Can a dimension be excluded from being indexed but still be part of a row?

I want to store something into Druid that I don’t want to be indexed but I still want to get the value when I query another dimension that is indexed. Is that possible?


The generic answer to your generic question: There is no way to store something in druid that is not indexed every column is indexed as a Dimension (e.g. String, Number) or Metric (Number).

Perhaps if you give more detail about what kind of data and what kind of query you have we can give more detailed answer.

Say I have a dimension callled bookTitle and another dimension of popularBookParagraphs. I don’t want popularBookParagraphs to be indexed because the cardinality is too high but I want to pretty much query like given a bookTitle return all of its popularBookParagraphs. I’m never going to query a specific popularBookParagraph.

You might be able to do this via dimension lookups.

Druid can do a query time lookup using a key/value lookup implementation. You can see it as a hash join between druid table and another external support.

Although this is a one to one mapping for instance it is used to solve country name based on country id.

In your case you will need to have a similar setup where the key is the book title and the value is the concat of all your paragraphs.

Here is a the documentations of query time lookups