Berserk Docs
Aggregate FunctionsOther

describe_schema

Infers JSON Schema from column values. Returns a schema object describing

Syntax

describe_schema(expr)

Parameters

Prop

Type

Returns: dynamic

Syntax

describe_schema(expr, max_samples)

Parameters

Prop

Type

Returns: dynamic

Syntax

describe_schema(expr, max_samples)

Parameters

Prop

Type

Returns: dynamic

Examples

Example 1 — Infer schema from dynamic column

datatable(log:dynamic)[
  dynamic({"warrior":"Ragnar", "voyages":42, "weapon":"axe"}),
  dynamic({"warrior":"Bjorn", "voyages":31, "weapon":"sword"})
]
| summarize describe_schema(log)
describe_schema_log (dynamic)
{"properties":{"voyages":{"enum":["31","42"],"maximum":42.0,"minimum":31.0,"type":"integer","x-bzrk-cardinality":"low","x-bzrk-distinct-count":2,"x-bzrk-frequency":1.0,"x-bzrk-kql-type":"long"},"warrior":{"enum":["Bjorn","Ragnar"],"maximum":"Ragnar","minimum":"Bjorn","type":"string","x-bzrk-cardinality":"low","x-bzrk-distinct-count":2,"x-bzrk-frequency":1.0,"x-bzrk-kql-type":"string"},"weapon":{"enum":["axe","sword"],"maximum":"sword","minimum":"axe","type":"string","x-bzrk-cardinality":"low","x-bzrk-distinct-count":2,"x-bzrk-frequency":1.0,"x-bzrk-kql-type":"string"}},"type":"object","x-bzrk-kql-type":"dynamic","x-bzrk-sample-count":2}

Example 2 — With explicit max_samples parameter

datatable(log:dynamic)[
  dynamic({"warrior":"Ragnar", "voyages":42, "weapon":"axe"}),
  dynamic({"warrior":"Bjorn", "voyages":31, "weapon":"sword"})
]
| summarize describe_schema(log, 100)
describe_schema_log (dynamic)
{"properties":{"voyages":{"enum":["31","42"],"maximum":42.0,"minimum":31.0,"type":"integer","x-bzrk-cardinality":"low","x-bzrk-distinct-count":2,"x-bzrk-frequency":1.0,"x-bzrk-kql-type":"long"},"warrior":{"enum":["Bjorn","Ragnar"],"maximum":"Ragnar","minimum":"Bjorn","type":"string","x-bzrk-cardinality":"low","x-bzrk-distinct-count":2,"x-bzrk-frequency":1.0,"x-bzrk-kql-type":"string"},"weapon":{"enum":["axe","sword"],"maximum":"sword","minimum":"axe","type":"string","x-bzrk-cardinality":"low","x-bzrk-distinct-count":2,"x-bzrk-frequency":1.0,"x-bzrk-kql-type":"string"}},"type":"object","x-bzrk-kql-type":"dynamic","x-bzrk-sample-count":2}

On this page