On this page

    Reflection

    Use the Reflection API to retrieve a list of raw and aggregation reflections, retrieve individual reflections, and create, update, and delete reflections.

    A reflection is an optimized materialization of source data or a query, similar to a materialized view, that is derived from an existing table or view. The query optimizer can accelerate queries by using one or more reflections to partially or entirely satisfy the queries rather than running queries against the raw data in the data source that underlies the table or view.

    Reflection Object (Raw Reflection)
    {
      "id": "7a380a24-3b63-436c-9ea0-63cb534cc404",
      "type": "RAW",
      "name": "Raw Reflection",
      "tag": "ureIY76RT7Y=",
      "createdAt": "2023-01-30T14:11:43.826Z",
      "updatedAt": "2023-01-30T14:11:43.826Z",
      "datasetId": "tk973df7-ddf7-4d1e-fa9e-bccf28ae253f",
      "currentSizeBytes": 4393709246,
      "totalSizeBytes": 4393709246,
      "enabled": true,
      "arrowCachingEnabled": false,
      "status": {
        "config": "OK",
        "refresh": "SCHEDULED",
        "availability": "AVAILABLE",
        "combinedStatus": "CAN_ACCELERATE",
        "failureCount": 0,
        "lastDataFetch": "2023-01-30T14:11:51.801Z",
        "expiresAt": "2023-01-30T17:11:51.801Z"
      },
      "displayFields": [
        {
          "name": "pickup_datetime"
        },
        {
          "name": "passenger_count"
        },
        {
          "name": "trip_distance_mi"
        },
        {
          "name": "fare_amount"
        },
        {
          "name": "tip_amount"
        },
        {
          "name": "total_amount"
        }
      ],
      "distributionFields": [
        {
          "name": "trip_distance_mi"
        }
      ],
      "partitionFields": [
        {
          "name": "passenger_count"
        }
      ],
      "sortFields": [
        {
          "name": "pickup_datetime"
        }
      ],
      "partitionDistributionStrategy": "CONSOLIDATED",
      "canView": true,
      "canAlter": true,
      "entityType": "reflection"
    }
    
    Reflection Object (Aggregation Reflection)
    {
      "id": "95dda9dd-2371-467f-b68d-fc4c5ea57a8b",
      "type": "AGGREGATION",
      "name": "Aggregation Reflection",
      "tag": "ZpzGgxw2l04=",
      "createdAt": "2022-07-05T19:19:40.244Z",
      "updatedAt": "2023-01-10T17:12:40.244Z",
      "datasetId": "df99ab32-c2d4-4d1c-9e91-2c8be861bb8a",
      "currentSizeBytes": 18639885,
      "totalSizeBytes": 142639924,
      "enabled": true,
      "arrowCachingEnabled": false,
      "status": {
        "config": "OK",
        "refresh": "SCHEDULED",
        "availability": "AVAILABLE",
        "combinedStatus": "CAN_ACCELERATE",
        "failureCount": 0,
        "lastDataFetch": "2023-01-10T17:12:40.244Z",
        "expiresAt": "3022-07-05T19:19:40.244Z"
      },
      "dimensionFields": [
        {
          "name": "pickup_date",
          "granularity": "DATE"
        },
        {
          "name": "pickup_datetime",
          "granularity": "DATE"
        },
        {
          "name": "dropoff_date",
          "granularity": "DATE"
        },
        {
          "name": "dropoff_datetime",
          "granularity": "DATE"
        },
        {
          "name": "passenger_count",
          "granularity": "DATE"
        },
        {
          "name": "total_amount",
          "granularity": "DATE"
        },
        {
          "name": "trip_distance_mi",
          "granularity": "DATE"
        }
      ],
      "measureFields": [
        {
          "name": "passenger_count",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "trip_distance_mi",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "fare_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "surcharge",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "tip_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "total_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        }
      ],
      "distributionFields": [
        {
          "name": "trip_distance_mi"
        },
        {
          "name": "total_amount"
        }
      ],
      "partitionFields": [
        {
          "name": "dropoff_date"
        },
        {
          "name": "passenger_count"
        }
      ],
      "sortFields": [
        {
          "name": "trip_distance_mi"
        }
      ],
      "partitionDistributionStrategy": "CONSOLIDATED",
      "canView": true,
      "canAlter": true,
      "entityType": "reflection"
    }
    

    Reflection Attributes

    id

    String (UUID)

    Unique identifier of the reflection.

    Example 95dda9dd-2371-467f-b68d-fc4c5ea57a8b


    type

    String

    Reflection type. For more information, read Types of Reflections.

    Enum RAW , AGGREGATION

    Example AGGREGATION


    name

    String

    User-provided name for the reflection. For reflections created in the Dremio UI, if the user did not provide a name, the default values are Raw Reflection and Aggregation Reflection (automatically assigned based on the reflection type).

    Example Aggregation Reflection


    tag

    String

    Unique identifier of the reflection instance. Dremio changes the tag whenever the reflection changes and uses the tag to ensure that PUT requests apply to the most recent version of the reflection.

    Example ZpzGgxw2l04=


    createdAt

    String

    Date and time that the reflection was created, in UTC format.

    Example 2022-07-05T19:19:40.244Z


    updatedAt

    String

    Date and time that the reflection was last updated, in UTC format.

    Example 2023-01-10T17:12:40.244Z


    datasetId

    String (UUID)

    Unique identifier of the anchor dataset that is associated with the reflection.

    Example df99ab32-c2d4-4d1c-9e91-2c8be861bb8a


    currentSizeBytes

    Integer

    Data size of the latest reflection job (if one exists), in bytes.

    Example 18639885


    totalSizeBytes

    Integer

    Data size of all reflection jobs that have not been pruned (if any exist), in bytes.

    Example 142639924


    enabled

    Boolean

    If the reflection is available for accelerating queries, the value is true. Otherwise, the value is false.

    Example true


    arrowCachingEnabled

    Boolean

    If Dremio converts data from the reflection's Parquet files to Apache Arrow format when copying that data to executor nodes, the value is true. Otherwise, the value is false.

    Example false


    status

    Object

    Information about the status of the reflection.

    Example { "config": "OK", "refresh": "SCHEDULED", "availability": "AVAILABLE", "combinedStatus": "CAN_ACCELERATE", "failureCount": 0, "lastDataFetch": "2023-01-10T17:12:40.244Z", "expiresAt": "3022-07-05T19:19:40.244Z" }


    displayFields

    [Object]

    Information about the fields displayed from the anchor dataset. Each displayFields object contains one attribute: name. Valid only for raw reflections.

    Example [ { "name": "pickup_datetime" }, { "name": "passenger_count" }, { "name": "trip_distance_mi" }, { "name": "fare_amount" }, { "name": "tip_amount" }, { "name": "total_amount" } ]


    dimensionFields

    [Object]

    Information about the dimension fields from the anchor dataset used in the reflection. Dimension fields are the fields you expect to group by when analyzing data. Each dimensionFields object contains two attributes: name and granularity. Valid only for aggregation reflections.

    Example [ { "name": "pickup_date", "granularity": "DATE" }, { "name": "pickup_datetime", "granularity": "DATE" }, { "name": "dropoff_date", "granularity": "DATE" }, { "name": "dropoff_datetime", "granularity": "DATE" }, { "name": "passenger_count", "granularity": "DATE" }, { "name": "total_amount", "granularity": "DATE" } ]


    measureFields

    [Object]

    Information about the measure fields from the anchor dataset used in the reflection. Measure fields are the fields you expect to use for calculations when analyzing the data. Each measureFields object contains two attributes: name and measureTypeList. Valid only for aggregation reflections.

    Example [ { "name": "passenger_count", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "trip_distance_mi", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "fare_amount", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "surcharge", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "tip_amount", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "total_amount", "measureTypeList": [ "SUM", "COUNT" ] } ]


    distributionFields

    [Object]

    Information about the distribution fields from the anchor dataset used in the reflection. Distribution fields allow data from multiple datasets to be co-located and co-partitioned across nodes to minimize data movement during join operations. Each distributionFields object contains one attribute: name.

    Example [ { "name": "trip_distance_mi" }, { "name": "total_amount" } ]


    partitionFields

    [Object]

    Information about the fields from the anchor dataset used to partition data in the reflection. Each field name is listed as an individual object. For more information, read Horizontally Partition Reflections that Have Many Rows.

    Example [ { "name": "dropoff_date" }, { "name": "passenger_count" } ]


    sortFields

    [Object]

    Information about the fields from the anchor dataset used for sorting in the reflection. Each sortFields object contains one attribute: name. For more information, read Sort Reflections on High-Cardinality Fields.

    Example [ { "name": "trip_distance_mi" } ]


    partitionDistributionStrategy

    String

    Method used to optimize data compression when executing reflections. CONSOLIDATED means Dremio minimizes the number of files produced. The query threads pool the data and ensure that the fewest number of files are written to the reflection store. Optimizing for a smaller number of files generally improves read performance because users can perform fewer searches for a given query. STRIPED means Dremio minimizes the time required to refresh the reflection. Each final-stage query thread opens its own writers to write the data, which can result in many small files if each query thread contains a small amount of data.

    Enum CONSOLIDATED , STRIPED

    Example CONSOLIDATED


    canView

    Boolean

    If you can view reflections on all datasets of a source, system, space, or folder, the value is true. Otherwise, the value is false.

    Example true


    canAlter

    Boolean

    If you can create, edit, and view reflections on all datasets of a source, system, space, or folder, the value is true. Otherwise, the value is false.

    Example true


    entityType

    String

    Type of the object. For reflection objects, the entityType is reflection.

    Example reflection

    status

    config

    String

    Status of the reflection configuration. If the value is OK, the reflection configuration is free of errors. If the value is INVALID, the reflection configuration contains one or more errors.

    Enum OK , INVALID

    Example OK


    refresh

    String

    Status of the reflection refresh.

    GIVEN_UP: Dremio attempted to refresh the reflection multiple times, but each attempt has failed and Dremio will not make further attempts.
    MANUAL: Refresh period is set to 0, so you must use the Dremio UI to manually refresh the reflection.
    RUNNING: Dremio is currently refreshing the reflection.
    SCHEDULED: The reflection refreshes according to a schedule.

    Enum GIVEN_UP , MANUAL , RUNNING , SCHEDULED

    Example SCHEDULED


    availability

    String

    Status of the reflection's availability for accelerating queries.

    Enum NONE , INCOMPLETE , EXPIRED , AVAILABLE

    Example AVAILABLE


    combinedStatus

    String

    Status of the reflection based on a combination of config, refresh, and availability statuses.

    CAN_ACCELERATE: The reflection is fully functional.
    CAN_ACCELERATE_WITH_FAILURES: The most recent refresh failed to obtain a status, but Dremio still has a valid materialization.
    CANNOT_ACCELERATE_MANUAL: The reflection is unable to accelerate any queries, and the Never Refresh option is selected for the refresh policy.
    CANNOT_ACCELERATE_SCHEDULED: The reflection is currently unable to accelerate any queries, but it has been scheduled for a refresh at a future time.
    DISABLED: The reflection has been manually disabled.
    EXPIRED: The reflection has expired and cannot be used.
    FAILED: The attempt to refresh the reflection has failed, typically three times in a row. The reflection is still usable.
    INCOMPLETE: One or more pseudo-distributed file system (PDFS) nodes that contain materialized files are down (PDFS is supported for v21 and earlier). Only partial data is available. Configurations that use the Hadoop Distributed File System (HDFS) to store reflections should not experience incomplete status.
    INVALID: The reflection is invalid because the underlying dataset has changed.
    REFRESHING: The reflection is currently being refreshed.

    Example CAN_ACCELERATE


    failureCount

    Integer

    Number of times that an attempt to refresh the reflection failed.

    Example 0


    lastDataFetch

    String

    Date and time that the reflection data was last refreshed, in UTC format. If the reflection is running, failing, or disabled, the lastDataFetch value is 1969-12-31T23:59:59.999Z.

    Example 2023-01-10T17:12:40.244Z


    expiresAt

    String

    Date and time that the reflection expires, in UTC format. If the reflection is running, failing, or disabled, the lastDataFetch value is 1969-12-31T23:59:59.999Z.

    Example 3022-07-05T19:19:40.244Z

    displayFields

    name

    String

    Name of the field from the anchor dataset that is displayed in the raw reflection.

    Example passenger_count

    dimensionFields

    name

    String

    Name of the field from the anchor dataset that is configured as a dimension for the reflection.

    Example pickup_date


    granularity

    String

    Grouping used for the dimension field. When timestamp and date fields are configured as dimensions, Dremio can automatically extract and use the day-level date value (DATE) or use the field's original value (NORMAL).

    Enum DATE , NORMAL

    Example DATE

    measureFields

    name

    String

    Name of the field from the anchor dataset that is configured as a measure for the reflection.

    Example passenger_count


    measureTypeList

    [String]

    Types of calculations for which Dremio uses the specified measure field.

    Enum APPROX_COUNT_DISTINCT , MIN , MAX , UNKNOWN , SUM , COUNT

    Example [ "SUM", "COUNT" ]

    distributionFields

    name

    String

    Name of the field from the anchor dataset that is used for co-locating and co-partitioning data from multiple datasets across nodes.

    Example trip_distance_mi

    partitionFields

    name

    String

    Name of the field from the anchor dataset on which you can partition the rows in the reflection.

    Example trip_distance_mi

    sortFields

    name

    String

    Name of the field from the anchor dataset that is used for sorting in the reflection.

    Example dropoff_date

    Creating a Reflection

    Create a new reflection.

    Method and URL
    POST /api/v3/reflection
    

    Parameters

    type

    body

    String

    Reflection type. For more information, read Types of Reflections.

    Enum RAW , AGGREGATION

    Example AGGREGATION


    name

    body

    String

    Name to use for the reflection.

    Example New Aggregation Reflection


    datasetId

    body

    String (UUID)

    Unique identifier of the anchor dataset to associate with the reflection.

    Example df99ab32-c2d4-4d1c-9e91-2c8be861bb8a


    enabled

    body

    Boolean

    If the reflection should be available for accelerating queries, set to true. Otherwise, set to false.

    Example true


    arrowCachingEnabled

    body

    Boolean

    Optional

    If Dremio should convert data from the reflection's Parquet files to Apache Arrow format when copying that data to executor nodes, set to true. Otherwise, set to false (default).

    Example false


    displayFields

    body

    [Object]

    Optional

    Information about the fields to display from the anchor dataset. The displayfields array must list every field in the anchor dataset or the reflection fails. Each displayFields object contains one attribute: name. Valid only for raw reflections.

    Example [ { "name": "pickup_datetime" }, { "name": "passenger_count" }, { "name": "trip_distance_mi" }, { "name": "fare_amount" }, { "name": "tip_amount" }, { "name": "total_amount" } ]


    dimensionFields

    body

    [Object]

    Optional

    Information about the dimension fields from the anchor dataset to use in the reflection. Dimension fields are the fields you expect to group by when analyzing data. Each dimensionFields object contains two attributes: name and granularity. Valid only for aggregation reflections.

    Example [ { "name": "pickup_datetime", "granularity": "DATE" }, { "name": "passenger_count", "granularity": "DATE" }, { "name": "total_amount", "granularity": "DATE" }, { "name": "trip_distance_mi", "granularity": "DATE" } ]


    measureFields

    body

    [Object]

    Optional

    Information about the measure fields from the anchor dataset to use in the reflection. Measure fields are the fields you expect to use for calculations when analyzing the data. Each measureFields object contains two attributes: name and measureTypeList. Valid only for aggregation reflections.

    Example [ { "name": "passenger_count", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "trip_distance_mi", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "fare_amount", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "tip_amount", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "total_amount", "measureTypeList": [ "SUM", "COUNT" ] } ]


    distributionFields

    body

    [Object]

    Optional

    Information about the distribution fields from the anchor dataset to use for co-locating and co-partitioning data from multiple datasets across nodes. Each distributionFields object contains one attribute: name.

    Example [ { "name": "trip_distance_mi" }, { "name": "total_amount" } ]


    partitionFields

    body

    [Object]

    Optional

    Information about the fields from the anchor dataset to use to partition data in the reflection. Each field name is listed as an individual object. For more information, read Horizontally Partition Reflections that Have Many Rows.

    Example [ { "name": "pickup_datetime" }, { "name": "passenger_count" } ]


    sortFields

    body

    [Object]

    Optional

    Information about the fields from the anchor dataset to use for sorting in the reflection. Each sortFields object contains one attribute: name. For more information, read Sort Reflections on High-Cardinality Fields.

    Example [ { "name": "trip_distance_mi" } ]


    partitionDistributionStrategy

    body

    String

    Optional

    Method to use to optimize data compression when executing reflections. If set to CONSOLIDATED (default), Dremio minimizes the number of files produced. If set to STRIPED, Dremio minimizes the time required to refresh the reflection.

    Enum CONSOLIDATED , STRIPED

    Example CONSOLIDATED


    canView

    body

    Boolean

    Optional

    To view reflections on all datasets of a source, system, space, or folder, set to true (default). Otherwise, set to false.

    Example true


    canAlter

    body

    Boolean

    Optional

    To create, edit, and view reflections on all datasets of a source, system, space, or folder, set to true (default). Otherwise, set to false.

    Example true


    entityType

    body

    String

    Type of the object. For reflection objects, the entityType is reflection.

    displayFields

    name

    body

    String

    Name of the field to display from the anchor dataset.

    Example { "name": "pickup_datetime" }

    dimensionFields

    name

    body

    String

    Name of the field from the anchor dataset to configure as a dimension for the reflection.

    Example "name": "pickup_datetime"


    granularity

    body

    String

    Grouping to use for the dimension field. If Dremio should automatically extract the day-level date value and use it as the grouping value in the reflection, DATE. If Dremio should use the original value for grouping, NORMAL.

    Enum DATE , NORMAL

    Example "granularity": "DATE"

    measureFields

    name

    body

    String

    Name of the field from the anchor dataset that you expect to use in calculations. Fields of types LIST, MAP, and UNION are not valid measureFields.

    Example "name": "passenger_count"


    measureTypeList

    [String]

    Types of calculations for which Dremio should use the specified measure field. The calculations must be valid for the specified field (for example, SUM is not valid for a timestamp field like pickup_datetime).

    Enum APPROX_COUNT_DISTINCT , MIN , MAX , UNKNOWN , SUM , COUNT

    Example [ "SUM", "COUNT" ]

    distributionFields

    name

    body

    String

    Optional

    Name of the field from the anchor dataset to use for co-locating and co-partitioning data from multiple datasets across nodes. In aggregation reflections, every field listed as a distribution field must also be listed as a dimension field.

    Example { "name": "trip_distance_mi" }

    partitionFields

    name

    body

    String

    Optional

    Name of the field from the anchor dataset on which you want to be able to partition rows. Every field listed as a partition field must also be listed as a dimension field. If you list a field as a partition field, you cannot list the same field as a sort field in the same reflection.

    Example { "name": "pickup_datetime" }

    sortFields

    name

    body

    String

    Optional

    Name of the field from the anchor dataset to use for sorting in the reflection. Every field listed as a sort field must also be listed as a dimension field. If you list a field as a sort field, you cannot list the same field as a partition field in the same reflection.

    Example { "name": "trip_distance_mi" }


    Example Request
    curl -X POST 'https://{hostname}/v3/api/reflection/' \
    --header 'Authorization: _dremio{tokenstring}' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "type": "AGGREGATION",
      "name": "New Aggregation Reflection",
      "datasetId": "gc870df7-ddf7-4d1e-bb9e-beef28ae773f",
      "enabled": true,
      "arrowCachingEnabled": false,
      "dimensionFields": [
        {
          "name": "pickup_datetime",
          "granularity": "DATE"
        },
        {
          "name": "passenger_count",
          "granularity": "DATE"
        },
        {
          "name": "total_amount",
          "granularity": "DATE"
        },
        {
          "name": "trip_distance_mi",
          "granularity": "DATE"
        }
      ],
      "measureFields": [
        {
          "name": "passenger_count",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "trip_distance_mi",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "fare_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "tip_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "total_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        }
      ],
      "distributionFields": [
        {
          "name": "trip_distance_mi"
        },
        {
          "name": "total_amount"
        }
      ],
      "partitionFields": [
        {
          "name": "pickup_datetime"
        },
        {
          "name": "passenger_count"
        }
      ],
      "sortFields": [
        {
          "name": "trip_distance_mi"
        }
      ],
      "entityType": "reflection"
    }'
    
    Example Response
    {
        "id": "836eae91-306e-487b-a687-31c999653a86",
        "type": "AGGREGATION",
        "name": "New Aggregation Reflection",
        "tag": "sEHieiuinqE=",
        "createdAt": "2023-01-30T14:30:24.311Z",
        "updatedAt": "2023-01-30T14:30:24.311Z",
        "datasetId": "gc870df7-ddf7-4d1e-bb9e-beef28ae773f",
        "currentSizeBytes": 0,
        "totalSizeBytes": 0,
        "enabled": true,
        "arrowCachingEnabled": false,
        "status": {
            "config": "OK",
            "refresh": "SCHEDULED",
            "availability": "NONE",
            "combinedStatus": "CANNOT_ACCELERATE_SCHEDULED",
            "failureCount": 0,
            "lastDataFetch": "1969-12-31T23:59:59.999Z",
            "expiresAt": "1969-12-31T23:59:59.999Z"
        },
        "dimensionFields": [
            {
                "name": "pickup_datetime",
                "granularity": "DATE"
            },
            {
                "name": "passenger_count",
                "granularity": "DATE"
            },
            {
                "name": "total_amount",
                "granularity": "DATE"
            },
            {
                "name": "trip_distance_mi",
                "granularity": "DATE"
            }
        ],
        "measureFields": [
            {
                "name": "passenger_count",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            },
            {
                "name": "trip_distance_mi",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            },
            {
                "name": "fare_amount",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            },
            {
                "name": "tip_amount",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            },
            {
                "name": "total_amount",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            }
        ],
        "distributionFields": [
            {
                "name": "trip_distance_mi"
            },
            {
                "name": "total_amount"
            }
        ],
        "partitionFields": [
            {
                "name": "pickup_datetime"
            },
            {
                "name": "passenger_count"
            }
        ],
        "sortFields": [
            {
                "name": "trip_distance_mi"
            }
        ],
        "partitionDistributionStrategy": "CONSOLIDATED",
        "canView": true,
        "canAlter": true,
        "entityType": "reflection"
    }
    

    Response Status Codes

    200

    OK

    401

    Unauthorized

    404

    Not Found

    405

    Method Not Allowed

    500

    Internal Server Error


    Retrieving All Reflections

    Retrieve a list of reflection objects that includes all raw and aggregation reflections in the Dremio instance.

    Method and URL
    GET /api/v3/reflection
    
    Example Request
    curl -X GET 'https://{hostname}/v3/api/reflection/' \
    --header 'Authorization: _dremio{tokenstring}' \
    --header 'Content-Type: application/json'
    

    In the response for a request to retrieve all raw and aggregation reflections, the reflection objects are wrapped with a data array. Each object in the data array represents one reflection.

    Example Response
    {
      "data": [
        {
          "id": "95dda9dd-2371-467f-b68d-fc4c5ea57a8b",
          "type": "AGGREGATION",
          "name": "Aggregation Reflection",
          "tag": "ZpzGgxw2l04=",
          "createdAt": "2022-07-05T19:19:40.244Z",
          "updatedAt": "2023-01-10T17:12:40.244Z",
          "datasetId": "df99ab32-c2d4-4d1c-9e91-2c8be861bb8a",
          "currentSizeBytes": 18639885,
          "totalSizeBytes": 142639924,
          "enabled": true,
          "arrowCachingEnabled": false,
          "status": {
            "config": "OK",
            "refresh": "SCHEDULED",
            "availability": "AVAILABLE",
            "combinedStatus": "CAN_ACCELERATE",
            "failureCount": 0,
            "lastDataFetch": "2023-01-10T17:12:40.244Z",
            "expiresAt": "3022-07-05T19:19:40.244Z"
          },
          "dimensionFields": [
            {
              "name": "pickup_date",
              "granularity": "DATE"
            },
            {
              "name": "pickup_datetime",
              "granularity": "DATE"
            },
            {
              "name": "dropoff_date",
              "granularity": "DATE"
            },
            {
              "name": "dropoff_datetime",
              "granularity": "DATE"
            },
            {
              "name": "passenger_count",
              "granularity": "DATE"
            },
            {
              "name": "total_amount",
              "granularity": "DATE"
            },
            {
              "name": "trip_distance_mi",
              "granularity": "DATE"
            }
          ],
          "measureFields": [
            {
              "name": "passenger_count",
              "measureTypeList": [
                "SUM",
                "COUNT"
              ]
            },
            {
              "name": "trip_distance_mi",
              "measureTypeList": [
                "SUM",
                "COUNT"
              ]
            },
            {
              "name": "fare_amount",
              "measureTypeList": [
                "SUM",
                "COUNT"
              ]
            },
            {
              "name": "surcharge",
              "measureTypeList": [
                "SUM",
                "COUNT"
              ]
            },
            {
              "name": "tip_amount",
              "measureTypeList": [
                "SUM",
                "COUNT"
              ]
            },
            {
              "name": "total_amount",
              "measureTypeList": [
                "SUM",
                "COUNT"
              ]
            }
          ],
          "distributionFields": [
            {
              "name": "trip_distance_mi"
            },
            {
              "name": "total_amount"
            }
          ],
          "partitionFields": [
            {
              "name": "dropoff_date"
            },
            {
              "name": "passenger_count"
            }
          ],
          "sortFields": [
            {
              "name": "trip_distance_mi"
            }
          ],
          "partitionDistributionStrategy": "CONSOLIDATED",
          "canView": true,
          "canAlter": true,
          "entityType": "reflection"
        },
        {
          "id": "14f22052-cbb3-4d5d-8bbc-6154cca98e49",
          "type": "RAW",
          "name": "listings",
          "tag": "XAy4ccVFXO4=",
          "createdAt": "2022-07-12T16:45:35.249Z",
          "updatedAt": "2022-07-12T16:45:35.249Z",
          "datasetId": "7707981c-cb33-42bc-a048-d27a8915f468",
          "currentSizeBytes": 0,
          "totalSizeBytes": 0,
          "enabled": true,
          "arrowCachingEnabled": true,
          "status": {
            "config": "OK",
            "refresh": "MANUAL",
            "availability": "NONE",
            "combinedStatus": "CANNOT_ACCELERATE_MANUAL",
            "failureCount": 0,
            "lastDataFetch": "1969-12-31T23:59:59.999Z",
            "expiresAt": "1969-12-31T23:59:59.999Z"
          },
          "displayFields": [
            {
              "name": "id"
            }
          ],
          "partitionDistributionStrategy": "CONSOLIDATED",
          "canView": true,
          "canAlter": true,
          "entityType": "reflection"
        },
        {
          "id": "6c209200-b522-4f81-bbe0-d10668c7752c",
          "type": "AGGREGATION",
          "name": "Aggregation Reflection",
          "tag": "SQeEAG3d6DA=",
          "createdAt": "2021-09-29T15:47:44.806Z",
          "updatedAt": "2021-09-29T15:47:44.806Z",
          "datasetId": "746f867a-c27c-4711-bb8c-99546a4c25e0",
          "currentSizeBytes": 0,
          "totalSizeBytes": 1675978,
          "enabled": true,
          "arrowCachingEnabled": false,
          "status": {
            "config": "OK",
            "refresh": "GIVEN_UP",
            "availability": "NONE",
            "combinedStatus": "FAILED",
            "failureCount": 3,
            "lastDataFetch": "1969-12-31T23:59:59.999Z",
            "expiresAt": "1969-12-31T23:59:59.999Z"
          },
          "dimensionFields": [
            {
              "name": "passenger_count",
              "granularity": "DATE"
            },
            {
              "name": "pickup_datetime",
              "granularity": "DATE"
            }
          ],
          "measureFields": [
            {
              "name": "trip_distance_mi",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            },
            {
              "name": "total_amount",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            },
            {
              "name": "tip_amount",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            },
            {
              "name": "fare_amount",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            }
          ],
          "partitionDistributionStrategy": "CONSOLIDATED",
          "canView": true,
          "canAlter": true,
          "entityType": "reflection"
        },
        {
          "id": "c5c5b282-ffea-4a34-835f-cc591584412b",
          "type": "AGGREGATION",
          "name": "Test reflection",
          "tag": "lMxFcc2qjgE=",
          "createdAt": "2021-10-11T18:44:27.064Z",
          "updatedAt": "2021-10-11T18:44:27.064Z",
          "datasetId": "316531b8-3c56-42f2-b05f-81f228ef3162",
          "currentSizeBytes": 0,
          "totalSizeBytes": 0,
          "enabled": true,
          "arrowCachingEnabled": false,
          "status": {
            "config": "OK",
            "refresh": "MANUAL",
            "availability": "NONE",
            "combinedStatus": "CANNOT_ACCELERATE_MANUAL",
            "failureCount": 0,
            "lastDataFetch": "1969-12-31T23:59:59.999Z",
            "expiresAt": "1969-12-31T23:59:59.999Z"
          },
          "dimensionFields": [
            {
              "name": "passenger_count",
              "granularity": "DATE"
            }
          ],
          "measureFields": [
            {
              "name": "trip_distance_mi",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            },
            {
              "name": "total_amount",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            },
            {
              "name": "tip_amount",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            },
            {
              "name": "fare_amount",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            }
          ],
          "partitionDistributionStrategy": "CONSOLIDATED",
          "canView": true,
          "canAlter": true,
          "entityType": "reflection"
        }
      ],
      "canAlterReflections": true
    }
    

    Response Status Codes

    200

    OK

    401

    Unauthorized

    404

    Not Found

    500

    Internal Server Error


    Retrieving a Reflection

    Retrieve the specified reflection.

    Method and URL
    GET /api/v3/reflection/{id}
    

    Parameters

    id

    path

    String (UUID)

    Unique identifier of the reflection that you want to retrieve.

    Example 95dda9dd-2371-467f-b68d-fc4c5ea57a8b


    Example Request
    curl -X GET 'https://{hostname}/v3/api/reflection/95dda9dd-2371-467f-b68d-fc4c5ea57a8b'
    --header 'Authorization: _dremio{tokenstring}' \
    --header 'Content-Type: application/json'
    
    Example Response
    {
      "id": "95dda9dd-2371-467f-b68d-fc4c5ea57a8b",
      "type": "AGGREGATION",
      "name": "Aggregation Reflection",
      "tag": "ZpzGgxw2l04=",
      "createdAt": "2022-07-05T19:19:40.244Z",
      "updatedAt": "2023-01-10T17:12:40.244Z",
      "datasetId": "df99ab32-c2d4-4d1c-9e91-2c8be861bb8a",
      "currentSizeBytes": 18639885,
      "totalSizeBytes": 142639924,
      "enabled": true,
      "arrowCachingEnabled": false,
      "status": {
        "config": "OK",
        "refresh": "SCHEDULED",
        "availability": "AVAILABLE",
        "combinedStatus": "CAN_ACCELERATE",
        "failureCount": 0,
        "lastDataFetch": "2023-01-10T17:12:40.244Z",
        "expiresAt": "3022-07-05T19:19:40.244Z"
      },
      "dimensionFields": [
        {
          "name": "pickup_date",
          "granularity": "DATE"
        },
        {
          "name": "pickup_datetime",
          "granularity": "DATE"
        },
        {
          "name": "dropoff_date",
          "granularity": "DATE"
        },
        {
          "name": "dropoff_datetime",
          "granularity": "DATE"
        },
        {
          "name": "passenger_count",
          "granularity": "DATE"
        },
        {
          "name": "total_amount",
          "granularity": "DATE"
        },
        {
          "name": "trip_distance_mi",
          "granularity": "DATE"
        }
      ],
      "measureFields": [
        {
          "name": "passenger_count",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "trip_distance_mi",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "fare_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "surcharge",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "tip_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "total_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        }
      ],
      "distributionFields": [
        {
          "name": "trip_distance_mi"
        },
        {
          "name": "total_amount"
        }
      ],
      "partitionFields": [
        {
          "name": "dropoff_date"
        },
        {
          "name": "passenger_count"
        }
      ],
      "sortFields": [
        {
          "name": "trip_distance_mi"
        }
      ],
      "partitionDistributionStrategy": "CONSOLIDATED",
      "canView": true,
      "canAlter": true,
      "entityType": "reflection"
    }
    

    Response Status Codes

    200

    OK

    401

    Unauthorized

    404

    Not Found

    500

    Internal Server Error


    Retrieving All Reflections for a Dataset

    Retrieve all raw and aggregation reflections for the specified dataset.

    Method and URL
    GET /api/v3/dataset/{dataset-id}/reflection
    

    Parameters

    dataset-id

    path

    String (UUID)

    Unique identifier of the dataset whose reflections you want to retrieve.

    Example 1df71752-69b7-47d9-9e6c-990e6b194aa4


    Example Request
    curl -X GET 'https://{hostname}/api/v3/dataset/3cbab7b3-ee82-44c1-abcc-e86d56078d4d/reflection'
    --header 'Authorization: _dremio{tokenstring}' \
    --header 'Content-Type: application/json'
    

    In the response for a request to retrieve all reflections for a dataset, the reflection objects are wrapped with a data array. Each object in the data array represents one reflection.

    Example Response
    {
      "data": [
        {
          "id": "23f75eb1-045f-447f-b3fa-374377877569",
          "type": "RAW",
          "name": "Raw Reflection",
          "tag": "K9J2SHE0c+Q=",
          "createdAt": "2023-02-03T16:38:27.770Z",
          "updatedAt": "2023-02-03T16:38:27.770Z",
          "datasetId": "3cbab7b3-ee82-44c1-abcc-e86d56078d4d",
          "currentSizeBytes": 0,
          "totalSizeBytes": 0,
          "enabled": true,
          "arrowCachingEnabled": false,
          "status": {
            "config": "OK",
            "refresh": "MANUAL",
            "availability": "AVAILABLE",
            "combinedStatus": "CAN_ACCELERATE",
            "failureCount": 0,
            "lastDataFetch": "2023-02-03T16:38:27.780Z",
            "expiresAt": "3022-06-06T16:38:27.780Z"
          },
          "displayFields": [
            {
              "name": "pickup_datetime"
            },
            {
              "name": "passenger_count"
            },
            {
              "name": "trip_distance_mi"
            },
            {
              "name": "fare_amount"
            },
            {
              "name": "tip_amount"
            },
            {
              "name": "total_amount"
            }
          ],
          "partitionDistributionStrategy": "CONSOLIDATED",
          "canView": true,
          "canAlter": true,
          "entityType": "reflection"
        },
        {
          "id": "3cbab7b3-ee82-44c1-abcc-e86d56078d4d",
          "type": "AGGREGATION",
          "name": "Aggregation Reflection",
          "tag": "Mc4hDFk5JR8=",
          "createdAt": "2023-02-03T16:39:40.556Z",
          "updatedAt": "2023-02-03T16:39:40.556Z",
          "datasetId": "1acab7b3-ee82-44c1-abcc-e86d56078d4d",
          "currentSizeBytes": 0,
          "totalSizeBytes": 0,
          "enabled": true,
          "arrowCachingEnabled": false,
          "status": {
            "config": "OK",
            "refresh": "MANUAL",
            "availability": "AVAILABLE",
            "combinedStatus": "CAN_ACCELERATE",
            "failureCount": 0,
            "lastDataFetch": "2023-02-03T16:39:40.568Z",
            "expiresAt": "3022-06-06T16:39:40.568Z"
          },
          "dimensionFields": [
            {
              "name": "passenger_count",
              "granularity": "DATE"
            },
            {
              "name": "pickup_datetime",
              "granularity": "DATE"
            }
          ],
          "measureFields": [
            {
              "name": "trip_distance_mi",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            },
            {
              "name": "total_amount",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            },
            {
              "name": "tip_amount",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            },
            {
              "name": "fare_amount",
              "measureTypeList": [
                "COUNT",
                "SUM"
              ]
            }
          ],
          "partitionDistributionStrategy": "CONSOLIDATED",
          "canView": true,
          "canAlter": true,
          "entityType": "reflection"
        }
      ],
      "canAlterReflections": true
    }
    

    Response Status Codes

    200

    OK

    401

    Unauthorized

    404

    Not Found

    405

    Method Not Allowed

    500

    Internal Server Error


    Updating a Reflection

    Update the specified reflection.

    Method and URL
    PUT /api/v3/reflection/{id}
    

    Parameters

    id

    path

    String (UUID)

    Unique identifier of the reflection that you want to update.

    Example 836eae91-306e-487b-a687-31c999653a86


    type

    body

    String

    Reflection type. For more information, read Types of Reflections.

    Enum RAW , AGGREGATION

    Example AGGREGATION


    name

    body

    String

    Name to use for the reflection.

    Example New Aggregation Reflection


    tag

    body

    String

    Unique identifier of the most recent version of the reflection. Dremio uses the tag to ensure that you are updating the most recent version of the reflection.

    Example ZpzGgxw2l04=


    datasetId

    body

    String (UUID)

    Unique identifier of the anchor dataset associated with the reflection.

    Example gc870df7-ddf7-4d1e-bb9e-beef28ae773f


    enabled

    body

    Boolean

    If the reflection should be available for accelerating queries, set to true. Otherwise, set to false.

    Example false


    arrowCachingEnabled

    body

    Boolean

    Optional

    If Dremio should convert data from the reflection's Parquet files to Apache Arrow format when copying that data to executor nodes, set to true. Otherwise, set to false (default).

    Example true


    dimensionFields

    body

    [Object]

    Information about the dimension fields from the anchor dataset to use in the reflection. Dimension fields are the fields you expect to group by when analyzing data. Each dimensionFields object contains two attributes: name and granularity. Valid only for aggregation reflections.
    If you omit the dimensionFields object in a PUT request, Dremio removes all existing dimension fields from the reflection. To keep existing dimension fields while making other updates, duplicate the existing dimensionFields array in the PUT request.

    Example [ { "name": "pickup_datetime", "granularity": "DATE" }, { "name": "passenger_count", "granularity": "DATE" }, { "name": "total_amount", "granularity": "DATE" }, { "name": "trip_distance_mi", "granularity": "DATE" } ]


    displayFields

    body

    [Object]

    Information about the fields to display from the anchor dataset. The displayfields array must list every field in the anchor dataset or the reflection fails. Each displayFields object contains one attribute: name. Valid only for raw reflections.

    Example [ { "name": "pickup_datetime" }, { "name": "passenger_count" }, { "name": "trip_distance_mi" }, { "name": "fare_amount" }, { "name": "tip_amount" }, { "name": "total_amount" } ]


    measureFields

    body

    [Object]

    Information about the measure fields from the anchor dataset to use in the reflection. Measure fields are the fields you expect to use for calculations when analyzing the data. Each measureFields object contains two attributes: name and measureTypeList. Valid only for aggregation reflections.
    If you omit the measureFields object in a PUT request, Dremio removes all existing measure fields from the reflection. To keep existing measure fields while making other updates, duplicate the existing measureFields array in the PUT request.

    Example [ { "name": "passenger_count", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "trip_distance_mi", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "fare_amount", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "tip_amount", "measureTypeList": [ "SUM", "COUNT" ] }, { "name": "total_amount", "measureTypeList": [ "SUM", "COUNT" ] } ]


    distributionFields

    body

    [Object]

    Information about the distribution fields from the anchor dataset to use for co-locating and co-partitioning data from multiple datasets across nodes. Each distributionFields object contains one attribute: name.
    If you omit the distributionFields object in a PUT request, Dremio removes all existing distribution fields from the reflection. To keep existing distribution fields while making other updates, duplicate the existing distributionFields array in the PUT request.

    Example [ { "name": "trip_distance_mi" }, { "name": "total_amount" } ]


    partitionFields

    body

    [Object]

    Information about the fields from the anchor dataset to use to partition data in the reflection. Each field name is listed as an individual object. If you omit the partitionFields object in a PUT request, Dremio removes all existing partition fields from the reflection. To keep existing partition fields while making other updates, duplicate the existing partitionFields array in the PUT request. For more information, read Horizontally Partition Reflections that Have Many Rows.

    Example [ { "name": "pickup_datetime" }, { "name": "passenger_count" } ]


    sortFields

    body

    [Object]

    Information about the fields from the anchor dataset to use for sorting in the reflection. Each sortFields object contains one attribute: name. If you omit the sortFields object in a PUT request, Dremio removes all existing sort fields from the reflection. To keep existing sort fields while making other updates, duplicate the existing sortFields array in the PUT request. For more information, read Sort Reflections on High-Cardinality Fields.

    Example [ { "name": "trip_distance_mi" } ]


    partitionDistributionStrategy

    body

    String

    Optional

    Method to use to optimize data compression when executing reflections. If set to CONSOLIDATED (default), Dremio minimizes the number of files produced. If set to STRIPED, Dremio minimizes the time required to refresh the reflection.

    Enum CONSOLIDATED , STRIPED

    Example CONSOLIDATED

    dimensionFields

    name

    body

    String

    Name of the field from the anchor dataset to configure as a dimension for the reflection.

    Example "name": "pickup_datetime"


    granularity

    body

    String

    Grouping to use for the dimension field. If Dremio should automatically extract the day-level date value and use it as the grouping value in the reflection, DATE. If Dremio should use the original value for grouping, NORMAL.

    Enum DATE , NORMAL

    Example "granularity": "DATE"

    displayFields

    name

    body

    String

    Name of the field to display from the anchor dataset.

    Example { "name": "pickup_datetime" }

    measureFields

    name

    body

    String

    Name of the field from the anchor dataset that you expect to use in calculations. Fields of types LIST, MAP, and UNION are not valid measureFields.

    Example "name": "passenger_count"


    measureTypeList

    [String]

    Types of calculations for which Dremio should use the specified measure field. The calculations must be valid for the specified field (for example, SUM is not valid for a timestamp field like pickup_datetime).

    Enum APPROX_COUNT_DISTINCT , MIN , MAX , UNKNOWN , SUM , COUNT

    Example [ "COUNT", "SUM" ]

    distributionFields

    name

    body

    String

    Name of the field from the anchor dataset to use for co-locating and co-partitioning data from multiple datasets across nodes. Every field listed as a distribution field must also be listed as a dimension field.

    Example { "name": "pickup_datetime" }

    partitionFields

    name

    body

    String

    Name of the field from the anchor dataset on which you want to be able to partition rows. Every field listed as a partition field must also be listed as a dimension field. If you list a field as a partition field, you cannot list the same field as a sort field in the same reflection.

    Example { "name": "dropoff_date" }

    sortFields

    name

    body

    String

    Name of the field from the anchor dataset to use for sorting in the reflection. Every field listed as a sort field must also be listed as a dimension field. If you list a field as a sort field, you cannot list the same field as a partition field in the same reflection.

    Example { "name": "pickup_datetime" }


    Example Request
    curl -X PUT 'https://{hostname}/v3/api/reflection/836eae91-306e-487b-a687-31c999653a86' \
    --header 'Authorization: _dremio{tokenstring}' \
    --header 'Content-Type: application/json' \
    --data-raw '{
      "id": "836eae91-306e-487b-a687-31c999653a86",
      "type": "AGGREGATION",
      "name": "New Aggregation Reflection",
      "tag": "sEHieiuinqE=",
      "datasetId": "gc870df7-ddf7-4d1e-bb9e-beef28ae773f",
      "enabled": false,
      "arrowCachingEnabled": true,
      "dimensionFields": [
        {
          "name": "pickup_datetime",
          "granularity": "DATE"
        },
        {
          "name": "passenger_count",
          "granularity": "DATE"
        },
        {
          "name": "total_amount",
          "granularity": "DATE"
        },
        {
          "name": "trip_distance_mi",
          "granularity": "DATE"
        }
      ],
      "measureFields": [
        {
          "name": "passenger_count",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "trip_distance_mi",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "fare_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "tip_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        },
        {
          "name": "total_amount",
          "measureTypeList": [
            "SUM",
            "COUNT"
          ]
        }
      ],
      "distributionFields": [
        {
          "name": "trip_distance_mi"
        },
        {
          "name": "total_amount"
        }
      ],
      "partitionFields": [
        {
          "name": "pickup_datetime"
        },
        {
          "name": "passenger_count"
        }
      ],
      "sortFields": [
        {
          "name": "trip_distance_mi"
        }
      ],
      "entityType": "reflection"
    }'
    
    Example Response
    {
        "id": "836eae91-306e-487b-a687-31c999653a86",
        "type": "AGGREGATION",
        "name": "New Aggregation Reflection",
        "tag": "nRPbilwodqC=",
        "createdAt": "2023-01-30T14:35:19.192Z",
        "updatedAt": "2023-01-30T14:35:19.192Z",
        "datasetId": "gc870df7-ddf7-4d1e-bb9e-beef28ae773f",
        "currentSizeBytes": 0,
        "totalSizeBytes": 0,
        "enabled": false,
        "arrowCachingEnabled": true,
        "status": {
            "config": "OK",
            "refresh": "SCHEDULED",
            "availability": "NONE",
            "combinedStatus": "DISABLED",
            "failureCount": 0,
            "lastDataFetch": "1969-12-31T23:59:59.999Z",
            "expiresAt": "1969-12-31T23:59:59.999Z"
        },
        "dimensionFields": [
            {
                "name": "pickup_datetime",
                "granularity": "DATE"
            },
            {
                "name": "passenger_count",
                "granularity": "DATE"
            },
            {
                "name": "total_amount",
                "granularity": "DATE"
            },
            {
                "name": "trip_distance_mi",
                "granularity": "DATE"
            }
        ],
        "measureFields": [
            {
                "name": "passenger_count",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            },
            {
                "name": "trip_distance_mi",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            },
            {
                "name": "fare_amount",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            },
            {
                "name": "tip_amount",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            },
            {
                "name": "total_amount",
                "measureTypeList": [
                    "SUM",
                    "COUNT"
                ]
            }
        ],
        "distributionFields": [
            {
                "name": "trip_distance_mi"
            },
            {
                "name": "total_amount"
            }
        ],
        "partitionFields": [
            {
                "name": "pickup_datetime"
            },
            {
                "name": "passenger_count"
            }
        ],
        "sortFields": [
            {
                "name": "trip_distance_mi"
            }
        ],
        "partitionDistributionStrategy": "CONSOLIDATED",
        "canView": true,
        "canAlter": true,
        "entityType": "reflection"
    }
    

    Response Status Codes

    200

    OK

    401

    Unauthorized

    404

    Not Found

    409

    Conflict

    500

    Internal Server Error


    Deleting a Reflection

    Delete the specified reflection.

    Method and URL
    DELETE /api/v3/reflection/{id}
    

    Parameters

    id

    path

    String (UUID)

    Unique identifier of the reflection that you want to delete.

    Example 95dda9dd-2371-467f-b68d-fc4c5ea57a8b


    Example Request
    curl -X DELETE 'https://{hostname}/v3/api/reflection/95dda9dd-2371-467f-b68d-fc4c5ea57a8b'
    --header 'Authorization: _dremio{tokenstring}' \
    --header 'Content-Type:application/json'
    
    Example Response
    No response
    

    Response Status Codes

    200

    OK

    401

    Unauthorized

    404

    Not Found

    405

    Method Not Allowed