You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by gu...@apache.org on 2019/07/19 01:48:39 UTC

[spark] branch master updated: [SPARK-28287][SQL][PYTHON][TESTS] Convert and port 'udaf.sql' into UDF test base

This is an automated email from the ASF dual-hosted git repository.

gurwls223 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/master by this push:
     new d2598fe  [SPARK-28287][SQL][PYTHON][TESTS] Convert and port 'udaf.sql' into UDF test base
d2598fe is described below

commit d2598fee3bc192767d1dc36d58bc95324137c6f6
Author: Vinod KC <vi...@gmail.com>
AuthorDate: Fri Jul 19 10:48:13 2019 +0900

    [SPARK-28287][SQL][PYTHON][TESTS] Convert and port 'udaf.sql' into UDF test base
    
    ## What changes were proposed in this pull request?
    
    This PR adds some tests converted from 'udaf.sql' to test UDFs
    
    <details><summary>Diff comparing to 'udaf.sql'</summary>
    <p>
    
    ```diff
    diff --git a/sql/core/src/test/resources/sql-tests/results/udaf.sql.out b/sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out
    index f4455bb717..e1747f4667 100644
    --- a/sql/core/src/test/resources/sql-tests/results/udaf.sql.out
    +++ b/sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out
     -3,6 +3,8
    
     -- !query 0
    +-- This test file was converted from udaf.sql.
    +
     CREATE OR REPLACE TEMPORARY VIEW t1 AS SELECT * FROM VALUES
     (1), (2), (3), (4)
     as t1(int_col1)
     -21,15 +23,15  struct<>
    
     -- !query 2
    -SELECT default.myDoubleAvg(int_col1) as my_avg from t1
    +SELECT default.myDoubleAvg(udf(int_col1)) as my_avg, udf(default.myDoubleAvg(udf(int_col1))) as my_avg2, udf(default.myDoubleAvg(int_col1)) as my_avg3 from t1
     -- !query 2 schema
    -struct<my_avg:double>
    +struct<my_avg:double,my_avg2:double,my_avg3:double>
     -- !query 2 output
    -102.5
    +102.5  102.5   102.5
    
     -- !query 3
    -SELECT default.myDoubleAvg(int_col1, 3) as my_avg from t1
    +SELECT default.myDoubleAvg(udf(int_col1), udf(3)) as my_avg from t1
     -- !query 3 schema
     struct<>
     -- !query 3 output
     -46,12 +48,12  struct<>
    
     -- !query 5
    -SELECT default.udaf1(int_col1) as udaf1 from t1
    +SELECT default.udaf1(udf(int_col1)) as udaf1, udf(default.udaf1(udf(int_col1))) as udaf2, udf(default.udaf1(int_col1)) as udaf3 from t1
     -- !query 5 schema
     struct<>
     -- !query 5 output
     org.apache.spark.sql.AnalysisException
    -Can not load class 'test.non.existent.udaf' when registering the function 'default.udaf1', please make sure it is on the classpath; line 1 pos 7
    +Can not load class 'test.non.existent.udaf' when registering the function 'default.udaf1', please make sure it is on the classpath; line 1 pos 94
    
     -- !query 6
    ```
    
    </p>
    </details>
    
    ## How was this patch tested?
    
    Tested as guided in SPARK-27921.
    
    Closes #25194 from vinodkc/br_Fix_SPARK-27921_3.
    
    Authored-by: Vinod KC <vi...@gmail.com>
    Signed-off-by: HyukjinKwon <gu...@apache.org>
---
 .../resources/sql-tests/inputs/udf/udf-udaf.sql    | 18 ++++++
 .../sql-tests/results/udf/udf-udaf.sql.out         | 72 ++++++++++++++++++++++
 2 files changed, 90 insertions(+)

diff --git a/sql/core/src/test/resources/sql-tests/inputs/udf/udf-udaf.sql b/sql/core/src/test/resources/sql-tests/inputs/udf/udf-udaf.sql
new file mode 100644
index 0000000..c22d552
--- /dev/null
+++ b/sql/core/src/test/resources/sql-tests/inputs/udf/udf-udaf.sql
@@ -0,0 +1,18 @@
+    -- This test file was converted from udaf.sql.
+
+CREATE OR REPLACE TEMPORARY VIEW t1 AS SELECT * FROM VALUES
+(1), (2), (3), (4)
+as t1(int_col1);
+
+CREATE FUNCTION myDoubleAvg AS 'test.org.apache.spark.sql.MyDoubleAvg';
+
+SELECT default.myDoubleAvg(udf(int_col1)) as my_avg, udf(default.myDoubleAvg(udf(int_col1))) as my_avg2, udf(default.myDoubleAvg(int_col1)) as my_avg3 from t1;
+
+SELECT default.myDoubleAvg(udf(int_col1), udf(3)) as my_avg from t1;
+
+CREATE FUNCTION udaf1 AS 'test.non.existent.udaf';
+
+SELECT default.udaf1(udf(int_col1)) as udaf1, udf(default.udaf1(udf(int_col1))) as udaf2, udf(default.udaf1(int_col1)) as udaf3 from t1;
+
+DROP FUNCTION myDoubleAvg;
+DROP FUNCTION udaf1;
\ No newline at end of file
diff --git a/sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out b/sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out
new file mode 100644
index 0000000..e1747f4
--- /dev/null
+++ b/sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out
@@ -0,0 +1,72 @@
+-- Automatically generated by SQLQueryTestSuite
+-- Number of queries: 8
+
+
+-- !query 0
+-- This test file was converted from udaf.sql.
+
+CREATE OR REPLACE TEMPORARY VIEW t1 AS SELECT * FROM VALUES
+(1), (2), (3), (4)
+as t1(int_col1)
+-- !query 0 schema
+struct<>
+-- !query 0 output
+
+
+
+-- !query 1
+CREATE FUNCTION myDoubleAvg AS 'test.org.apache.spark.sql.MyDoubleAvg'
+-- !query 1 schema
+struct<>
+-- !query 1 output
+
+
+
+-- !query 2
+SELECT default.myDoubleAvg(udf(int_col1)) as my_avg, udf(default.myDoubleAvg(udf(int_col1))) as my_avg2, udf(default.myDoubleAvg(int_col1)) as my_avg3 from t1
+-- !query 2 schema
+struct<my_avg:double,my_avg2:double,my_avg3:double>
+-- !query 2 output
+102.5	102.5	102.5
+
+
+-- !query 3
+SELECT default.myDoubleAvg(udf(int_col1), udf(3)) as my_avg from t1
+-- !query 3 schema
+struct<>
+-- !query 3 output
+org.apache.spark.sql.AnalysisException
+Invalid number of arguments for function default.myDoubleAvg. Expected: 1; Found: 2; line 1 pos 7
+
+
+-- !query 4
+CREATE FUNCTION udaf1 AS 'test.non.existent.udaf'
+-- !query 4 schema
+struct<>
+-- !query 4 output
+
+
+
+-- !query 5
+SELECT default.udaf1(udf(int_col1)) as udaf1, udf(default.udaf1(udf(int_col1))) as udaf2, udf(default.udaf1(int_col1)) as udaf3 from t1
+-- !query 5 schema
+struct<>
+-- !query 5 output
+org.apache.spark.sql.AnalysisException
+Can not load class 'test.non.existent.udaf' when registering the function 'default.udaf1', please make sure it is on the classpath; line 1 pos 94
+
+
+-- !query 6
+DROP FUNCTION myDoubleAvg
+-- !query 6 schema
+struct<>
+-- !query 6 output
+
+
+
+-- !query 7
+DROP FUNCTION udaf1
+-- !query 7 schema
+struct<>
+-- !query 7 output
+


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org