put_data_frame.asciidoc 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. --
  2. :api: put-data-frame-transform
  3. :request: PutDataFrameTransformRequest
  4. :response: AcknowledgedResponse
  5. --
  6. [id="{upid}-{api}"]
  7. === Put Data Frame Transform API
  8. The Put Data Frame Transform API is used to create a new {dataframe-transform}.
  9. The API accepts a +{request}+ object as a request and returns a +{response}+.
  10. [id="{upid}-{api}-request"]
  11. ==== Put Data Frame Request
  12. A +{request}+ requires the following argument:
  13. ["source","java",subs="attributes,callouts,macros"]
  14. --------------------------------------------------
  15. include-tagged::{doc-tests-file}[{api}-request]
  16. --------------------------------------------------
  17. <1> The configuration of the {dataframe-job} to create
  18. [id="{upid}-{api}-config"]
  19. ==== Data Frame Transform Configuration
  20. The `DataFrameTransformConfig` object contains all the details about the {dataframe-transform}
  21. configuration and contains the following arguments:
  22. ["source","java",subs="attributes,callouts,macros"]
  23. --------------------------------------------------
  24. include-tagged::{doc-tests-file}[{api}-config]
  25. --------------------------------------------------
  26. <1> The {dataframe-transform} ID
  27. <2> The source indices and query from which to gather data
  28. <3> The destination index
  29. <4> The PivotConfig
  30. [id="{upid}-{api}-query-config"]
  31. ==== SourceConfig
  32. The indices and the query from which to collect data.
  33. If query is not set, a `match_all` query is used by default.
  34. ["source","java",subs="attributes,callouts,macros"]
  35. --------------------------------------------------
  36. include-tagged::{doc-tests-file}[{api}-source-config]
  37. --------------------------------------------------
  38. ===== QueryConfig
  39. The query with which to select data from the source.
  40. ["source","java",subs="attributes,callouts,macros"]
  41. --------------------------------------------------
  42. include-tagged::{doc-tests-file}[{api}-query-config]
  43. --------------------------------------------------
  44. ==== PivotConfig
  45. Defines the pivot function `group by` fields and the aggregation to reduce the data.
  46. ["source","java",subs="attributes,callouts,macros"]
  47. --------------------------------------------------
  48. include-tagged::{doc-tests-file}[{api}-pivot-config]
  49. --------------------------------------------------
  50. ===== GroupConfig
  51. The grouping terms. Defines the group by and destination fields
  52. which are produced by the pivot function. There are 3 types of
  53. groups
  54. * Terms
  55. * Histogram
  56. * Date Histogram
  57. ["source","java",subs="attributes,callouts,macros"]
  58. --------------------------------------------------
  59. include-tagged::{doc-tests-file}[{api}-group-config]
  60. --------------------------------------------------
  61. <1> The destination field
  62. <2> Group by values of the `user_id` field
  63. ===== AggregationConfig
  64. Defines the aggregations for the group fields.
  65. // TODO link to the supported aggregations
  66. ["source","java",subs="attributes,callouts,macros"]
  67. --------------------------------------------------
  68. include-tagged::{doc-tests-file}[{api}-agg-config]
  69. --------------------------------------------------
  70. <1> Aggregate the average star rating
  71. include::../execution.asciidoc[]
  72. [id="{upid}-{api}-response"]
  73. ==== Response
  74. The returned +{response}+ acknowledges the successful creation of
  75. the new {dataframe-transform} or an error if the configuration is invalid.