Github user wzhfy commented on the issue:

    https://github.com/apache/spark/pull/19406
  
    @srowen I tried your way on my laptop, it works fine. But an existing test 
case failed: (500 expected , 499 returned)
    ```
      test("percentile_approx, supports constant folding for parameter accuracy 
and percentages") {
        withTempView(table) {
          (1 to 1000).toDF("col").createOrReplaceTempView(table)
          checkAnswer(
            spark.sql(s"SELECT percentile_approx(col, array(0.25 + 0.25D), 200 
+ 800D) FROM $table"),
            Row(Seq(500D))
          )
        }
      }
    ```
    It seems to me both way (rounding targetError and starting from 1/ not 
rounding targetError and starting from 0) can get the answer within relative 
error. One way is more accurate in some cases, and the other is more accurate 
in some other cases.



---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to