Panoramix v0.12.0 Panoramix.Query View Source

Provides functions for building Druid query requests.

Link to this section Summary

Functions

Use from macro to build Druid queries. See Druid documentation to learn about available fields and general query object structure.

Link to this section Types

Link to this type

t()

View Source
t() :: %Panoramix.Query{
  aggregations: term(),
  analysis_types: term(),
  bound: term(),
  context: term(),
  data_source: term(),
  dimension: term(),
  dimensions: term(),
  filter: term(),
  granularity: term(),
  intervals: term(),
  limit: term(),
  limit_spec: term(),
  merge: term(),
  metric: term(),
  post_aggregations: term(),
  query: term(),
  query_type: term(),
  search_dimensions: term(),
  sort: term(),
  threshold: term(),
  to_include: term(),
  virtual_columns: term()
}

Link to this section Functions

Link to this macro

from(source, kw)

View Source (macro) (since 1.0.0)

Use from macro to build Druid queries. See Druid documentation to learn about available fields and general query object structure.

Examples

    iex(1)> use Panoramix
    Panoramix.Query
    iex(2)> q = from "my_datasource",
    ...(2)>       query_type: "timeseries",
    ...(2)>       intervals: ["2019-03-01T00:00:00+00:00/2019-03-04T00:00:00+00:00"],
    ...(2)>       granularity: :day,
    ...(2)>       filter: dimensions.foo == "bar",
    ...(2)>        aggregations: [event_count: count(),
    ...(2)>                       unique_id_count: hyperUnique(:user_unique)]
    %Panoramix.Query{
    aggregations: [
      %{name: :event_count, type: "count"},
      %{fieldName: :user_unique, name: :unique_id_count, type: :hyperUnique}
    ],
    analysis_types: nil,
    bound: nil,
    context: %{priority: 0, timeout: 120000},
    data_source: "my_datasource",
    dimension: nil,
    dimensions: nil,
    filter: %{dimension: "foo", type: "selector", value: "bar"},
    granularity: :day,
    intervals: ["2019-03-01T00:00:00+00:00/2019-03-04T00:00:00+00:00"],
    limit: nil,
    limit_spec: nil,
    merge: nil,
    metric: nil,
    post_aggregations: nil,
    query: nil,
    query_type: "timeseries",
    search_dimensions: nil,
    sort: nil,
    threshold: nil,
    to_include: nil,
    virtual_columns: nil
    }