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} |