Skip to content

ES|QL change_point processing command #120998

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 56 commits into from
Feb 10, 2025

Conversation

jan-elastic
Copy link
Contributor

No description provided.

@elasticsearchmachine elasticsearchmachine added needs:triage Requires assignment of a team area label v9.0.0 labels Jan 28, 2025
@jan-elastic jan-elastic added >feature :ml Machine learning Team:ML Meta label for the ML team and removed needs:triage Requires assignment of a team area label labels Jan 28, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/ml-core (Team:ML)

@elasticsearchmachine
Copy link
Collaborator

Hi @jan-elastic, I've created a changelog YAML for you.

@jan-elastic jan-elastic marked this pull request as draft January 28, 2025 10:03
@jan-elastic jan-elastic force-pushed the esql-changepoint-processing-command branch from 9004e67 to e905a79 Compare January 30, 2025 12:11
Copy link
Contributor

@alex-spies alex-spies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I have now had a thorough look at everything except the operator implementation and associated tests. But seems like @nik9000 had a look at that.

Everything I saw looked super nice; I left very minor notes, only, which in some cases are more relevant for follow-ups anyway. Thumbs up, LGTM!

Copy link
Contributor

@alex-spies alex-spies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the iterations @jan-elastic , I think this is in a very nice state!

I have some final observations, but please consider them at your own discretion and feel free to merge this :) 🎉

Copy link
Contributor

@alex-spies alex-spies left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, the MV handling being consistent with other MV handling in ESQL is great - thanks for handling that!

This PR looks very nice and should be merged IMO :)

My only nit is that now that the change point operator does handle quite a few cases (nulls, mvs, different data types...), we could try to have more coverage in the change point operator tests. The usual way to achieve this is via randomization, but that may be tough to implement nicely. In any case, that's a matter for another PR if anything. Let's :shipit: !

@jan-elastic jan-elastic merged commit aaa5ce8 into main Feb 10, 2025
18 checks passed
@jan-elastic jan-elastic deleted the esql-changepoint-processing-command branch February 10, 2025 10:50
jan-elastic added a commit that referenced this pull request Apr 14, 2025
* Grammar for ES|QL change point (with dummy impl)

* pipeline breaker

* ChangePointOperator

* Add sorting

* basic csv test

* conflict

* Update docs/changelog/120998.yaml

* [CI] Auto commit changes from spotless

* polish

* Non-long data type

* Move OrderBy/Limit to the logical plan

* fix mem.leak

* csv test for reusing column names

* Warning indeterminable

* capability

* handle null values

* too much data

* type text->keyword

* default timestamp and output columns

* spotless

* ChangePointOperatorTests + fix memory leaks

* [CI] Auto commit changes from spotless

* improve test

* add comments/todos

* handle multivalued columns

* don't register unserialiazable

* surrogate

* make "too much data" tests readable

* more tests

* Error handling

* fix multivalued test

* more name conflict tests

* [CI] Auto commit changes from spotless

* more tests

* improve code

* CSV test for various input key/value types

* one more csv test

* Check sortable/numeric for all types

* add null type to testChangePoint_valueNumeric

* more CSV tests

* skip nulls instead of zeroing them

* error on MV

* Test+todo for nicer error message

* better error msg

* Revert "better error msg"

This reverts commit 21ec77c.

* fix

* make csv test deterministic

* replace NamedExpression -> Attribute

* skip MVs + warning

---------

Co-authored-by: elasticsearchmachine <[email protected]>
jan-elastic added a commit that referenced this pull request Apr 15, 2025
* ES|QL change_point processing command (#120998)

* Grammar for ES|QL change point (with dummy impl)

* pipeline breaker

* ChangePointOperator

* Add sorting

* basic csv test

* conflict

* Update docs/changelog/120998.yaml

* [CI] Auto commit changes from spotless

* polish

* Non-long data type

* Move OrderBy/Limit to the logical plan

* fix mem.leak

* csv test for reusing column names

* Warning indeterminable

* capability

* handle null values

* too much data

* type text->keyword

* default timestamp and output columns

* spotless

* ChangePointOperatorTests + fix memory leaks

* [CI] Auto commit changes from spotless

* improve test

* add comments/todos

* handle multivalued columns

* don't register unserialiazable

* surrogate

* make "too much data" tests readable

* more tests

* Error handling

* fix multivalued test

* more name conflict tests

* [CI] Auto commit changes from spotless

* more tests

* improve code

* CSV test for various input key/value types

* one more csv test

* Check sortable/numeric for all types

* add null type to testChangePoint_valueNumeric

* more CSV tests

* skip nulls instead of zeroing them

* error on MV

* Test+todo for nicer error message

* better error msg

* Revert "better error msg"

This reverts commit 21ec77c.

* fix

* make csv test deterministic

* replace NamedExpression -> Attribute

* skip MVs + warning

---------

Co-authored-by: elasticsearchmachine <[email protected]>

* Move ES|QL change_point to tech preview

* fix grammar

* License check

* docs + example

* spotless

* fix compile error

* add change_point to ES|QL processing commands overview page

* close note

* close note

* fix link

---------

Co-authored-by: elasticsearchmachine <[email protected]>
Co-authored-by: Craig Taverner <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Analytics/ES|QL AKA ESQL >feature :ml Machine learning Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) Team:ML Meta label for the ML team v9.1.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants