From 7ab0c76955f0ba92cabcff763cd7f30c3e294ab2 Mon Sep 17 00:00:00 2001 From: HyukjinKwon Date: Tue, 29 Oct 2019 12:17:04 +0900 Subject: [PATCH 1/2] Allow array_contains to take column instances --- python/pyspark/sql/functions.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python/pyspark/sql/functions.py b/python/pyspark/sql/functions.py index 95b78175d5561..a7f28966318b2 100644 --- a/python/pyspark/sql/functions.py +++ b/python/pyspark/sql/functions.py @@ -1945,8 +1945,11 @@ def array_contains(col, value): >>> df = spark.createDataFrame([(["a", "b", "c"],), ([],)], ['data']) >>> df.select(array_contains(df.data, "a")).collect() [Row(array_contains(data, a)=True), Row(array_contains(data, a)=False)] + >>> df.select(array_contains(df.data, lit("a"))).collect() + [Row(array_contains(data, a)=True), Row(array_contains(data, a)=False)] """ sc = SparkContext._active_spark_context + value = value._jc if isinstance(value, Column) else value return Column(sc._jvm.functions.array_contains(_to_java_column(col), value)) From 5f8b1604150b91f0815c34ea8e67d4d7668cb39b Mon Sep 17 00:00:00 2001 From: HyukjinKwon Date: Wed, 30 Oct 2019 00:15:54 +0900 Subject: [PATCH 2/2] Fix doc --- python/pyspark/sql/functions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/pyspark/sql/functions.py b/python/pyspark/sql/functions.py index a7f28966318b2..9186d77f7876d 100644 --- a/python/pyspark/sql/functions.py +++ b/python/pyspark/sql/functions.py @@ -1940,7 +1940,7 @@ def array_contains(col, value): given value, and false otherwise. :param col: name of column containing array - :param value: value to check for in array + :param value: value or column to check for in array >>> df = spark.createDataFrame([(["a", "b", "c"],), ([],)], ['data']) >>> df.select(array_contains(df.data, "a")).collect()