Skip to content

Commit 18a3b2e

Browse files
authored
[DOCS] Group rollup and transform content (#46882)
1 parent f11a3c2 commit 18a3b2e

9 files changed

+63
-41
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[[data-rollup-transform]]
2+
= Roll up or transform your data
3+
4+
[partintro]
5+
--
6+
7+
{es} offers the following methods for manipulating your data:
8+
9+
* <<xpack-rollup,Rolling up your historical data>>
10+
+
11+
include::rollup/index.asciidoc[tag=rollup-intro]
12+
* {stack-ov}/ml-dataframes.html[Transforming your data]
13+
14+
--
15+
16+
include::rollup/index.asciidoc[]

docs/reference/index.asciidoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ include::sql/index.asciidoc[]
4646

4747
include::monitoring/index.asciidoc[]
4848

49-
include::rollup/index.asciidoc[]
50-
5149
include::frozen-indices.asciidoc[]
5250

51+
include::data-rollup-transform.asciidoc[]
52+
5353
include::high-availability.asciidoc[]
5454

5555
include::security/index.asciidoc[]

docs/reference/rollup/api-quickref.asciidoc

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
[role="xpack"]
22
[testenv="basic"]
33
[[rollup-api-quickref]]
4-
== API Quick Reference
4+
=== {rollup-cap} API quick reference
5+
++++
6+
<titleabbrev>API quick reference</titleabbrev>
7+
++++
58

69
experimental[]
710

@@ -15,7 +18,7 @@ Most rollup endpoints have the following base:
1518

1619
[float]
1720
[[rollup-api-jobs]]
18-
=== /job/
21+
==== /job/
1922

2023
* {ref}/rollup-put-job.html[PUT /_rollup/job/<job_id+++>+++]: Create a {rollup-job}
2124
* {ref}/rollup-get-job.html[GET /_rollup/job]: List {rollup-jobs}
@@ -26,13 +29,13 @@ Most rollup endpoints have the following base:
2629

2730
[float]
2831
[[rollup-api-data]]
29-
=== /data/
32+
==== /data/
3033

3134
* {ref}/rollup-get-rollup-caps.html[GET /_rollup/data/<index_pattern+++>/_rollup_caps+++]: Get Rollup Capabilities
3235
* {ref}/rollup-get-rollup-index-caps.html[GET /<index_name+++>/_rollup/data/+++]: Get Rollup Index Capabilities
3336

3437
[float]
3538
[[rollup-api-index]]
36-
=== /<index_name>/
39+
==== /<index_name>/
3740

3841
* {ref}/rollup-search.html[GET /<index_name>/_rollup_search]: Search rollup data

docs/reference/rollup/index.asciidoc

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,27 @@
11
[role="xpack"]
22
[testenv="basic"]
33
[[xpack-rollup]]
4-
= Rolling up historical data
5-
6-
[partintro]
7-
--
4+
== Rolling up historical data
85

96
experimental[]
107

118
Keeping historical data around for analysis is extremely useful but often avoided due to the financial cost of
129
archiving massive amounts of data. Retention periods are thus driven by financial realities rather than by the
1310
usefulness of extensive historical data.
1411

15-
The Rollup feature in {xpack} provides a means to summarize and store historical data so that it can still be used
16-
for analysis, but at a fraction of the storage cost of raw data.
17-
12+
// tag::rollup-intro[]
13+
The {stack} {rollup-features} provide a means to summarize and store historical
14+
data so that it can still be used for analysis, but at a fraction of the storage
15+
cost of raw data.
16+
// end::rollup-intro[]
1817

19-
* <<rollup-overview, Overview>>
20-
* <<rollup-getting-started,Getting Started>>
21-
* <<rollup-api-quickref, API Quick Reference>>
22-
* <<rollup-understanding-groups,Understanding Rollup Grouping>>
18+
* <<rollup-overview,Overview>>
19+
* <<rollup-getting-started,Getting started>>
20+
* <<rollup-api-quickref, API quick reference>>
21+
* <<rollup-understanding-groups,Understanding rollup grouping>>
2322
* <<rollup-agg-limitations,Rollup aggregation limitations>>
24-
* <<rollup-search-limitations,Rollup Search limitations>>
25-
23+
* <<rollup-search-limitations,Rollup search limitations>>
2624

27-
--
2825

2926
include::overview.asciidoc[]
3027
include::api-quickref.asciidoc[]

docs/reference/rollup/overview.asciidoc

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
[role="xpack"]
22
[testenv="basic"]
33
[[rollup-overview]]
4-
== Overview
4+
=== {rollup-cap} overview
5+
++++
6+
<titleabbrev>Overview</titleabbrev>
7+
++++
58

69
experimental[]
710

@@ -23,7 +26,7 @@ reading often diminishes with time. It's not useless -- it could easily contrib
2326
value often leads to deletion rather than paying the fixed storage cost.
2427

2528
[float]
26-
=== Rollup store historical data at reduced granularity
29+
==== Rollup stores historical data at reduced granularity
2730

2831
That's where Rollup comes into play. The Rollup functionality summarizes old, high-granularity data into a reduced
2932
granularity format for long-term storage. By "rolling" the data up into a single summary document, historical data
@@ -39,7 +42,7 @@ automates this process of summarizing historical data.
3942
Details about setting up and configuring Rollup are covered in <<rollup-put-job,Create Job API>>
4043

4144
[float]
42-
=== Rollup uses standard query DSL
45+
==== Rollup uses standard query DSL
4346

4447
The Rollup feature exposes a new search endpoint (`/_rollup_search` vs the standard `/_search`) which knows how to search
4548
over rolled-up data. Importantly, this endpoint accepts 100% normal {es} Query DSL. Your application does not need to learn
@@ -53,7 +56,7 @@ But if your queries, aggregations and dashboards only use the available function
5356
data is trivial.
5457

5558
[float]
56-
=== Rollup merges "live" and "rolled" data
59+
==== Rollup merges "live" and "rolled" data
5760

5861
A useful feature of Rollup is the ability to query both "live", realtime data in addition to historical "rolled" data
5962
in a single query.
@@ -67,7 +70,7 @@ It will take the results from both data sources and merge them together. If the
6770
"rolled" data, live data is preferred to increase accuracy.
6871

6972
[float]
70-
=== Rollup is multi-interval aware
73+
==== Rollup is multi-interval aware
7174

7275
Finally, Rollup is capable of intelligently utilizing the best interval available. If you've worked with summarizing
7376
features of other products, you'll find that they can be limiting. If you configure rollups at daily intervals... your

docs/reference/rollup/rollup-agg-limitations.asciidoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
[role="xpack"]
22
[testenv="basic"]
33
[[rollup-agg-limitations]]
4-
== Rollup Aggregation Limitations
4+
=== {rollup-cap} aggregation limitations
55

66
experimental[]
77

88
There are some limitations to how fields can be rolled up / aggregated. This page highlights the major limitations so that
99
you are aware of them.
1010

1111
[float]
12-
=== Limited aggregation components
12+
==== Limited aggregation components
1313

1414
The Rollup functionality allows fields to be grouped with the following aggregations:
1515

docs/reference/rollup/rollup-getting-started.asciidoc

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
[role="xpack"]
22
[testenv="basic"]
33
[[rollup-getting-started]]
4-
== Getting Started
4+
=== Getting started with {rollups}
5+
++++
6+
<titleabbrev>Getting started</titleabbrev>
7+
++++
58

69
experimental[]
710

@@ -23,7 +26,7 @@ look like this:
2326
// NOTCONSOLE
2427

2528
[float]
26-
=== Creating a Rollup Job
29+
==== Creating a rollup job
2730

2831
We'd like to rollup these documents into hourly summaries, which will allow us to generate reports and dashboards with any time interval
2932
one hour or greater. A rollup job might look like this:
@@ -103,7 +106,7 @@ After you execute the above command and create the job, you'll receive the follo
103106
----
104107

105108
[float]
106-
=== Starting the job
109+
==== Starting the job
107110

108111
After the job is created, it will be sitting in an inactive state. Jobs need to be started before they begin processing data (this allows
109112
you to stop them later as a way to temporarily pause, without deleting the configuration).
@@ -117,7 +120,7 @@ POST _rollup/job/sensor/_start
117120
// TEST[setup:sensor_rollup_job]
118121

119122
[float]
120-
=== Searching the Rolled results
123+
==== Searching the rolled results
121124

122125
After the job has run and processed some data, we can use the <<rollup-search>> endpoint to do some searching. The Rollup feature is designed
123126
so that you can use the same Query DSL syntax that you are accustomed to... it just happens to run on the rolled up data instead.
@@ -292,7 +295,7 @@ In addition to being more complicated (date histogram and a terms aggregation, p
292295
the date_histogram uses a `7d` interval instead of `60m`.
293296

294297
[float]
295-
=== Conclusion
298+
==== Conclusion
296299

297300
This quickstart should have provided a concise overview of the core functionality that Rollup exposes. There are more tips and things
298301
to consider when setting up Rollups, which you can find throughout the rest of this section. You may also explore the <<rollup-api-quickref,REST API>>

docs/reference/rollup/rollup-search-limitations.asciidoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[role="xpack"]
22
[testenv="basic"]
33
[[rollup-search-limitations]]
4-
== Rollup Search Limitations
4+
=== {rollup-cap} search limitations
55

66
experimental[]
77

@@ -11,7 +11,7 @@ live data is thrown away, you will always lose some flexibility.
1111
This page highlights the major limitations so that you are aware of them.
1212

1313
[float]
14-
=== Only one Rollup index per search
14+
==== Only one {rollup} index per search
1515

1616
When using the <<rollup-search>> endpoint, the `index` parameter accepts one or more indices. These can be a mix of regular, non-rollup
1717
indices and rollup indices. However, only one rollup index can be specified. The exact list of rules for the `index` parameter are as
@@ -33,7 +33,7 @@ may be able to open this up to multiple rollup jobs.
3333

3434
[float]
3535
[[aggregate-stored-only]]
36-
=== Can only aggregate what's been stored
36+
==== Can only aggregate what's been stored
3737

3838
A perhaps obvious limitation, but rollups can only aggregate on data that has been stored in the rollups. If you don't configure the
3939
rollup job to store metrics about the `price` field, you won't be able to use the `price` field in any query or aggregation.
@@ -81,7 +81,7 @@ The response will tell you that the field and aggregation were not possible, bec
8181
// TESTRESPONSE[s/"stack_trace": \.\.\./"stack_trace": $body.$_path/]
8282

8383
[float]
84-
=== Interval Granularity
84+
==== Interval granularity
8585

8686
Rollups are stored at a certain granularity, as defined by the `date_histogram` group in the configuration. This means you
8787
can only search/aggregate the rollup data with an interval that is greater-than or equal to the configured rollup interval.
@@ -111,7 +111,7 @@ That said, if multiple jobs are present in a single rollup index with varying in
111111
with the largest interval to satisfy the search request.
112112

113113
[float]
114-
=== Limited querying components
114+
==== Limited querying components
115115

116116
The Rollup functionality allows `query`'s in the search request, but with a limited subset of components. The queries currently allowed are:
117117

@@ -128,7 +128,7 @@ If you attempt to use an unsupported query, or the query references a field that
128128
thrown. We expect the list of support queries to grow over time as more are implemented.
129129

130130
[float]
131-
=== Timezones
131+
==== Timezones
132132

133133
Rollup documents are stored in the timezone of the `date_histogram` group configuration in the job. If no timezone is specified, the default
134134
is to rollup timestamps in `UTC`.

docs/reference/rollup/understanding-groups.asciidoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[role="xpack"]
22
[testenv="basic"]
33
[[rollup-understanding-groups]]
4-
== Understanding Groups
4+
=== Understanding groups
55

66
experimental[]
77

@@ -121,7 +121,7 @@ Ultimately, when configuring `groups` for a job, think in terms of how you might
121121
then include those in the config. Because Rollup Search allows any order or combination of the grouped fields, you just need to decide
122122
if a field is useful for aggregating later, and how you might wish to use it (terms, histogram, etc)
123123

124-
=== Grouping Limitations with heterogeneous indices
124+
==== Grouping limitations with heterogeneous indices
125125

126126
There was previously a limitation in how Rollup could handle indices that had heterogeneous mappings (multiple, unrelated/non-overlapping
127127
mappings). The recommendation at the time was to configure a separate job per data "type". For example, you might configure a separate
@@ -192,7 +192,7 @@ PUT _rollup/job/combined
192192
--------------------------------------------------
193193
// NOTCONSOLE
194194

195-
=== Doc counts and overlapping jobs
195+
==== Doc counts and overlapping jobs
196196

197197
There was previously an issue with document counts on "overlapping" job configurations, driven by the same internal implementation detail.
198198
If there were two Rollup jobs saving to the same index, where one job is a "subset" of another job, it was possible that document counts

0 commit comments

Comments
 (0)