apache / apache/datafusion-comet
Handle remainder by zero error in `spark_modulo` function for Spark 4.1 and later.
- Vorherrschende Sprache
- Scala
- Sterne
- 1.3k
- Forks
- 375
- Ø Merge
- 2 T. 10 Std.
- Gemergte PRs (30 T.)
- 231
Beschreibung
### What is the problem the feature request solves?
PR https://github.com/apache/datafusion-comet/pull/1971 introduced `spark_modulo` function, and found that Spark 4.0 and earlier version threw `Divide by Zero` instead of `Remainder by Zero` exception, which was incorrect. And so, filed https://issues.apache.org/jira/browse/SPARK-52659 for Spark to fix this.
That error message has now been fixed in the PR https://github.com/apache/spark/pull/51378 for Spark 4.1 and it will now throw `Reminder by Zero` instead of misleading `Divide by Zero`. This would require handling new error [here](https://github.com/apache/datafusion-comet/blob/fd0ab6441b078a8875b614ca2d615a102c592606/native/spark-expr/src/math_funcs/modulo_expr.rs#L58) for spark version 4.1 and later.
### Describe the potential solution
_No response_
### Additional context
_No response_
Beitragsleitfaden
Rechercherichtung
Beginnen Sie in native/spark-expr/src/math_funcs/modulo_expr.rs beim verlinkten Fehlerbehandlungscode für spark_modulo. Vergleichen Sie die bestehende Behandlung von Divide by Zero mit dem Verhalten von Remainder by Zero in Spark 4.1 und später und verifizieren Sie, dass die Funktion für diese Spark-Versionen den korrekten Fehler meldet, ohne das Verhalten früherer Versionen zu ändern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- data-engineering
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 72/100