Github user hvanhovell commented on a diff in the pull request:
https://github.com/apache/spark/pull/16497#discussion_r95074181
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/aggregate/Percentile.scala
---
@@ -51,26 +51,42 @@ import org.apache.spark.util.collection.OpenHashMap
_FUNC_(col, array(percentage1 [, percentage2]...)) - Returns the
exact percentile value array
of numeric column `col` at the given percentage(s). Each value of
the percentage array must
be between 0.0 and 1.0.
+
+ _FUNC_(col, frequency, percentage) - Returns the exact percentile
value of numeric column `col`
+ with frequency column `frequency` at the given percentage. The value
of percentage must be
+ between 0.0 and 1.0.
+
+ _FUNC_(col, frequency, array(percentage1 [, percentage2]...)) -
Returns the exact percentile
+ value array of numeric column `col` with frequency column
`frequency` at the given percentage(s).
+ Each value of the percentage array must be between 0.0 and 1.0.
+
""")
case class Percentile(
child: Expression,
+ frequency : Expression,
percentageExpression: Expression,
mutableAggBufferOffset: Int = 0,
inputAggBufferOffset: Int = 0)
extends TypedImperativeAggregate[OpenHashMap[Number, Long]] with
ImplicitCastInputTypes {
def this(child: Expression, percentageExpression: Expression) = {
- this(child, percentageExpression, 0, 0)
+ this(child, Literal(1l), percentageExpression, 0, 0)
+ }
+
+ def this(child: Expression, frequency: Expression, percentageExpression:
Expression) = {
+ this(child, frequency, percentageExpression, 0, 0)
}
+ private val unit = Literal(1l)
+
override def prettyName: String = "percentile"
override def withNewMutableAggBufferOffset(newMutableAggBufferOffset:
Int): Percentile =
copy(mutableAggBufferOffset = newMutableAggBufferOffset)
override def withNewInputAggBufferOffset(newInputAggBufferOffset: Int):
Percentile =
copy(inputAggBufferOffset = newInputAggBufferOffset)
-
+
--- End diff --
Remove this. This will probably fail style checks.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]