Skip to content
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

Implement Presto aggregate function map_union #1827

Closed

Conversation

benitakbritto
Copy link

Summary:
Added a new velox aggregate map_union that:

  • Takes as input a map
  • Stores the results in an accumulator that is in the form of key and value lists
  • Intermediate and Final results are of type map
  • Clubbed the logic that is common for map_agg and map_union into a new class named MapAggregateBase
  • Unit Tests that check:
    • Partial/Final aggregate results, Single aggregate results and Global aggregate results
    • Input that contains NULL in the key/value, duplicate keys and no data

Differential Revision: D37088301

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported labels Jun 16, 2022
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D37088301

benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 17, 2022
Summary:
Pull Request resolved: facebookincubator#1827

Added a new velox aggregate `map_union` that:
- Takes as input a `map`
- Stores the results in an accumulator that is in the form of `key` and `value` lists
- Intermediate and Final results are of type `map`
- Clubbed the logic that is common for map_agg and map_union into a new class named `MapAggregateBase`
- Unit Tests that check:
   - `Partial/Final aggregate` results, `Single aggregate` results and `Global aggregate` results
   - Input that contains `NULL` in the `key`/`value`, duplicate `keys` and no data

Differential Revision: D37088301

fbshipit-source-id: 8a70e73f306d978d69f16bedcd1077712472e9ff
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D37088301

benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 21, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: b95e7b55bac2dea9797c933314c5b3f84d4f1497
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D37088301

1 similar comment
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D37088301

benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 22, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: 1c1d429eb45be272fbba1e436c22cf5814c1888c
benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 22, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: 77a49a0fb7572c9d06d2dff6baf3a441ddc86e9f
benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 22, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: 168683a4ee74d6cdb663eb54f1ccdbe2a667c6ae
benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 23, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Reviewed By: kagamiori

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: c5148e38c5c61c0b9b60473a5e4ba28cfe083677
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D37088301

benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 23, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: b4ab9798532f575179753a04cec0fdc22a53d910
benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 24, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: f0edbed62c6b065d8972d867d3e90423ede26565
benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 24, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Reviewed By: kagamiori

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: 466bf5b1f894b970db07106a7c531032e35b590d
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D37088301

Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Reviewed By: kagamiori

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: 209ee7b1ad2e41608226215f3bcb788d687af8e4
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D37088301

benitakbritto pushed a commit to benitakbritto/velox that referenced this pull request Jun 24, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: 2a863a850a9244b76a6f1611e7f27a3064612344
shiyu-bytedance pushed a commit to shiyu-bytedance/velox-1 that referenced this pull request Aug 18, 2022
Summary: Pull Request resolved: facebookincubator#1827

Test Plan:
## Unit Test
```
[~/fbsource/fbcode]$ buck test velox/functions/prestosql/aggregates/tests:test
```

## End-to-end Test
```
[~/fbsource/fbcode/presto_cpp/public_tld/java/presto-native-tests]$ JAVA_HOME=/usr/local/fb-jdk-8 mvn -Dmaven.compiler.fork=true -Dmaven.compiler.executable=/usr/local/fb-jdk-8/bin/javac -Djava.net.preferIPv6Addresses=true -DPRESTO_SERVER=$HOME/fbsource/fbcode/buck-out/gen/presto_cpp/main/presto_server -DDATA_DIR=/tmp -Duser.timezone=America/Bahia_Banderas -Dtest=TestHiveAggregationQueries test
```

Reviewed By: kagamiori

Differential Revision: D37088301

Pulled By: benitakbritto

fbshipit-source-id: 5687b1962299596c91467035f1e63d559e01bd46
marin-ma pushed a commit to marin-ma/velox-oap that referenced this pull request Dec 15, 2023
…g hash agg (facebookincubator#1827)

Fix error 'attribute binding failed.' when executing hash agg

Close facebookincubator#1620.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants