94 lines
2.9 KiB
Plaintext
94 lines
2.9 KiB
Plaintext
|
--
|
||
|
:api: put-data-frame-transform
|
||
|
:request: PutDataFrameTransformRequest
|
||
|
:response: AcknowledgedResponse
|
||
|
--
|
||
|
[id="{upid}-{api}"]
|
||
|
=== Put Data Frame Transform API
|
||
|
|
||
|
The Put Data Frame Transform API is used to create a new {dataframe-transform}.
|
||
|
|
||
|
The API accepts a +{request}+ object as a request and returns a +{response}+.
|
||
|
|
||
|
[id="{upid}-{api}-request"]
|
||
|
==== Put Data Frame Request
|
||
|
|
||
|
A +{request}+ requires the following argument:
|
||
|
|
||
|
["source","java",subs="attributes,callouts,macros"]
|
||
|
--------------------------------------------------
|
||
|
include-tagged::{doc-tests-file}[{api}-request]
|
||
|
--------------------------------------------------
|
||
|
<1> The configuration of the {dataframe-job} to create
|
||
|
|
||
|
[id="{upid}-{api}-config"]
|
||
|
==== Data Frame Transform Configuration
|
||
|
|
||
|
The `DataFrameTransformConfig` object contains all the details about the {dataframe-transform}
|
||
|
configuration and contains the following arguments:
|
||
|
|
||
|
["source","java",subs="attributes,callouts,macros"]
|
||
|
--------------------------------------------------
|
||
|
include-tagged::{doc-tests-file}[{api}-config]
|
||
|
--------------------------------------------------
|
||
|
<1> The {dataframe-transform} ID
|
||
|
<2> The source index or index pattern
|
||
|
<3> The destination index
|
||
|
<4> Optionally a QueryConfig
|
||
|
<5> The PivotConfig
|
||
|
|
||
|
[id="{upid}-{api}-query-config"]
|
||
|
==== QueryConfig
|
||
|
|
||
|
The query with which to select data from the source.
|
||
|
If not set a `match_all` query is used by default.
|
||
|
|
||
|
["source","java",subs="attributes,callouts,macros"]
|
||
|
--------------------------------------------------
|
||
|
include-tagged::{doc-tests-file}[{api}-query-config]
|
||
|
--------------------------------------------------
|
||
|
|
||
|
==== PivotConfig
|
||
|
|
||
|
Defines the pivot function `group by` fields and the aggregation to reduce the data.
|
||
|
|
||
|
["source","java",subs="attributes,callouts,macros"]
|
||
|
--------------------------------------------------
|
||
|
include-tagged::{doc-tests-file}[{api}-pivot-config]
|
||
|
--------------------------------------------------
|
||
|
|
||
|
===== GroupConfig
|
||
|
The grouping terms. Defines the group by and destination fields
|
||
|
which are produced by the pivot function. There are 3 types of
|
||
|
groups
|
||
|
|
||
|
* Terms
|
||
|
* Histogram
|
||
|
* Date Histogram
|
||
|
|
||
|
["source","java",subs="attributes,callouts,macros"]
|
||
|
--------------------------------------------------
|
||
|
include-tagged::{doc-tests-file}[{api}-group-config]
|
||
|
--------------------------------------------------
|
||
|
<1> The destination field
|
||
|
<2> Group by values of the `user_id` field
|
||
|
|
||
|
===== AggregationConfig
|
||
|
|
||
|
Defines the aggregations for the group fields.
|
||
|
// TODO link to the supported aggregations
|
||
|
|
||
|
["source","java",subs="attributes,callouts,macros"]
|
||
|
--------------------------------------------------
|
||
|
include-tagged::{doc-tests-file}[{api}-agg-config]
|
||
|
--------------------------------------------------
|
||
|
<1> Aggregate the average star rating
|
||
|
|
||
|
include::../execution.asciidoc[]
|
||
|
|
||
|
[id="{upid}-{api}-response"]
|
||
|
==== Response
|
||
|
|
||
|
The returned +{response}+ acknowledges the successful creation of
|
||
|
the new {dataframe-transform} or an error if the configuration is invalid.
|