You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by "xinrong-meng (via GitHub)" <gi...@apache.org> on 2023/03/20 11:19:46 UTC

[GitHub] [spark] xinrong-meng opened a new pull request, #40486: [SPARK-42340][CONNECT][PYTHON] Implement Grouped Map API

xinrong-meng opened a new pull request, #40486:
URL: https://github.com/apache/spark/pull/40486

   ### What changes were proposed in this pull request?
   Implement Grouped Map API:`GroupedData.applyInPandas` and `GroupedData.apply`.
   
   ### Why are the changes needed?
   Parity with vanilla PySpark.
   
   
   ### Does this PR introduce _any_ user-facing change?
   Yes. `GroupedData.applyInPandas` and `GroupedData.apply` are supported now, as shown below.
   ```sh
   >>> df = spark.createDataFrame([(1, 1.0), (1, 2.0), (2, 3.0), (2, 5.0), (2, 10.0)],("id", "v"))
   >>> def normalize(pdf):
   ...     v = pdf.v
   ...     return pdf.assign(v=(v - v.mean()) / v.std())
   ... 
   >>> df.groupby("id").applyInPandas(normalize, schema="id long, v double").show()
   
   +---+-------------------+                                                       
   | id|                  v|
   +---+-------------------+
   |  1|-0.7071067811865475|
   |  1| 0.7071067811865475|
   |  2|-0.8320502943378437|
   |  2|-0.2773500981126146|
   |  2| 1.1094003924504583|
   +---+-------------------+
   ```
   
   ```sh
   >>> @pandas_udf("id long, v double", PandasUDFType.GROUPED_MAP)
   ... def normalize(pdf):
   ...     v = pdf.v
   ...     return pdf.assign(v=(v - v.mean()) / v.std())
   ... 
   >>> df.groupby("id").apply(normalize).show()
   /Users/xinrong.meng/spark/python/pyspark/sql/connect/group.py:228: UserWarning: It is preferred to use 'applyInPandas' over this API. This API will be deprecated in the future releases. See SPARK-28264 for more details.
     warnings.warn(
   +---+-------------------+                                                       
   | id|                  v|
   +---+-------------------+
   |  1|-0.7071067811865475|
   |  1| 0.7071067811865475|
   |  2|-0.8320502943378437|
   |  2|-0.2773500981126146|
   |  2| 1.1094003924504583|
   +---+-------------------+
   ```
   
   ### How was this patch tested?
   (Parity) Unit tests.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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


[GitHub] [spark] xinrong-meng commented on pull request #40486: [SPARK-42340][CONNECT][PYTHON] Implement Grouped Map API

Posted by "xinrong-meng (via GitHub)" <gi...@apache.org>.
xinrong-meng commented on PR #40486:
URL: https://github.com/apache/spark/pull/40486#issuecomment-1476051208

   This PR is almost a pure cherry-pick of https://github.com/apache/spark/commit/fee47c77e5d31bce592bf6e2bd33c2dabfc57bd3, with minor changes on tests to adapt to branch-3.4.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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


[GitHub] [spark] xinrong-meng commented on pull request #40486: [SPARK-42340][CONNECT][PYTHON][3.4] Implement Grouped Map API

Posted by "xinrong-meng (via GitHub)" <gi...@apache.org>.
xinrong-meng commented on PR #40486:
URL: https://github.com/apache/spark/pull/40486#issuecomment-1477553890

   Thanks!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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


[GitHub] [spark] HyukjinKwon commented on pull request #40486: [SPARK-42340][CONNECT][PYTHON][3.4] Implement Grouped Map API

Posted by "HyukjinKwon (via GitHub)" <gi...@apache.org>.
HyukjinKwon commented on PR #40486:
URL: https://github.com/apache/spark/pull/40486#issuecomment-1477393696

   Merged to branch-3.4.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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


[GitHub] [spark] xinrong-meng closed pull request #40486: [SPARK-42340][CONNECT][PYTHON][3.4] Implement Grouped Map API

Posted by "xinrong-meng (via GitHub)" <gi...@apache.org>.
xinrong-meng closed pull request #40486: [SPARK-42340][CONNECT][PYTHON][3.4] Implement Grouped Map API
URL: https://github.com/apache/spark/pull/40486


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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