You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Ruifeng Zheng (Jira)" <ji...@apache.org> on 2023/01/06 03:23:00 UTC

[jira] [Resolved] (SPARK-41831) DataFrame.transform: Only Column or String can be used for projections

     [ https://issues.apache.org/jira/browse/SPARK-41831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ruifeng Zheng resolved SPARK-41831.
-----------------------------------
    Fix Version/s: 3.4.0
       Resolution: Fixed

Issue resolved by pull request 39405
[https://github.com/apache/spark/pull/39405]

> DataFrame.transform: Only Column or String can be used for projections
> ----------------------------------------------------------------------
>
>                 Key: SPARK-41831
>                 URL: https://issues.apache.org/jira/browse/SPARK-41831
>             Project: Spark
>          Issue Type: Sub-task
>          Components: Connect
>    Affects Versions: 3.4.0
>            Reporter: Sandeep Singh
>            Priority: Major
>             Fix For: 3.4.0
>
>
> {code:java}
> File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/dataframe.py", line 1168, in pyspark.sql.connect.dataframe.DataFrame.transform
> Failed example:
>     df.transform(cast_all_to_int).transform(sort_columns_asc).show()
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/doctest.py", line 1350, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest pyspark.sql.connect.dataframe.DataFrame.transform[4]>", line 1, in <module>
>         df.transform(cast_all_to_int).transform(sort_columns_asc).show()
>       File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/dataframe.py", line 1102, in transform
>         result = func(self, *args, **kwargs)
>       File "<doctest pyspark.sql.connect.dataframe.DataFrame.transform[2]>", line 2, in cast_all_to_int
>         return input_df.select([col(col_name).cast("int") for col_name in input_df.columns])
>       File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/dataframe.py", line 86, in select
>         return DataFrame.withPlan(plan.Project(self._plan, *cols), session=self._session)
>       File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/plan.py", line 344, in __init__
>         self._verify_expressions()
>       File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/plan.py", line 350, in _verify_expressions
>         raise InputValidationError(
>     pyspark.sql.connect.plan.InputValidationError: Only Column or String can be used for projections: '[Column<'(ColumnReference(int) (int))'>, Column<'(ColumnReference(float) (int))'>]'.
> **********************************************************************
> File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/dataframe.py", line 1179, in pyspark.sql.connect.dataframe.DataFrame.transform
> Failed example:
>     df.transform(add_n, 1).transform(add_n, n=10).show()
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/doctest.py", line 1350, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest pyspark.sql.connect.dataframe.DataFrame.transform[6]>", line 1, in <module>
>         df.transform(add_n, 1).transform(add_n, n=10).show()
>       File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/dataframe.py", line 1102, in transform
>         result = func(self, *args, **kwargs)
>       File "<doctest pyspark.sql.connect.dataframe.DataFrame.transform[5]>", line 2, in add_n
>         return input_df.select([(col(col_name) + n).alias(col_name)
>       File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/dataframe.py", line 86, in select
>         return DataFrame.withPlan(plan.Project(self._plan, *cols), session=self._session)
>       File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/plan.py", line 344, in __init__
>         self._verify_expressions()
>       File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/plan.py", line 350, in _verify_expressions
>         raise InputValidationError(
>     pyspark.sql.connect.plan.InputValidationError: Only Column or String can be used for projections: '[Column<'Alias(+(ColumnReference(int), Literal(1)), (int))'>, Column<'Alias(+(ColumnReference(float), Literal(1)), (float))'>]'.{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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