sadhen commented on a change in pull request #32026: URL: https://github.com/apache/spark/pull/32026#discussion_r606075743
########## File path: python/pyspark/sql/tests/test_arrow.py ########## @@ -196,6 +197,33 @@ def test_pandas_round_trip(self): pdf_arrow = df.toPandas() assert_frame_equal(pdf_arrow, pdf) + def test_udt_roundtrip(self): + pdf = pd.DataFrame({'point': pd.Series([ExamplePoint(1.0, 1.0), ExamplePoint(2.0, 2.0)])}) + schema = StructType([StructField('point', ExamplePointUDT(), False)]) + with self.sql_conf({"spark.sql.execution.arrow.pyspark.fallback.enabled": True}): + df = self.spark.createDataFrame(pdf, schema) + pdf_arrow = df.toPandas() + assert_frame_equal(pdf_arrow, pdf) + with self.sql_conf({"spark.sql.execution.arrow.pyspark.fallback.enabled": False}): + df = self.spark.createDataFrame(pdf, schema) + pdf_arrow = df.toPandas() + assert_frame_equal(pdf_arrow, pdf) + + def test_array_udt_roundtrip(self): + pdf = pd.DataFrame({'points': pd.Series([ + [ExamplePoint(1.0, 1.0), ExamplePoint(1.0, 2.0), ExamplePoint(1.0, 3.0)], Review comment: For primitive data type, it is not a good practice to wrap it in UDT. As a result, I do not think we should spend too much time on support UDT which is actually primitive data type. This part can be postponed. -- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org