[ https://issues.apache.org/jira/browse/SPARK-41875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sandeep Singh updated SPARK-41875: ---------------------------------- Description: {code:java} schema = StructType( [StructField("i", StringType(), True), StructField("j", IntegerType(), True)] ) df = self.spark.createDataFrame([("a", 1)], schema) schema1 = StructType([StructField("j", StringType()), StructField("i", StringType())]) df1 = df.to(schema1) self.assertEqual(schema1, df1.schema) self.assertEqual(df.count(), df1.count()) schema2 = StructType([StructField("j", LongType())]) df2 = df.to(schema2) self.assertEqual(schema2, df2.schema) self.assertEqual(df.count(), df2.count()) schema3 = StructType([StructField("struct", schema1, False)]) df3 = df.select(struct("i", "j").alias("struct")).to(schema3) self.assertEqual(schema3, df3.schema) self.assertEqual(df.count(), df3.count()) # incompatible field nullability schema4 = StructType([StructField("j", LongType(), False)]) self.assertRaisesRegex( AnalysisException, "NULLABLE_COLUMN_OR_FIELD", lambda: df.to(schema4) ){code} {code:java} Traceback (most recent call last): File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/tests/test_dataframe.py", line 1486, in test_to self.assertRaisesRegex( AssertionError: AnalysisException not raised by <lambda> {code} was: {code:java} File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/dataframe.py", line 401, in pyspark.sql.connect.dataframe.DataFrame.sample Failed example: df.sample(0.5, 3).count() 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.sample[1]>", line 1, in <module> df.sample(0.5, 3).count() TypeError: DataFrame.sample() takes 2 positional arguments but 3 were given ********************************************************************** File "/Users/s.singh/personal/spark-oss/python/pyspark/sql/connect/dataframe.py", line 411, in pyspark.sql.connect.dataframe.DataFrame.sample Failed example: df.sample(False, fraction=1.0).count() 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.sample[6]>", line 1, in <module> df.sample(False, fraction=1.0).count() TypeError: DataFrame.sample() got multiple values for argument 'fraction'{code} > Throw proper errors in Dataset.to() > ----------------------------------- > > Key: SPARK-41875 > URL: https://issues.apache.org/jira/browse/SPARK-41875 > Project: Spark > Issue Type: Sub-task > Components: Connect > Affects Versions: 3.4.0 > Reporter: Sandeep Singh > Priority: Major > > {code:java} > schema = StructType( > [StructField("i", StringType(), True), StructField("j", IntegerType(), > True)] > ) > df = self.spark.createDataFrame([("a", 1)], schema) > schema1 = StructType([StructField("j", StringType()), StructField("i", > StringType())]) > df1 = df.to(schema1) > self.assertEqual(schema1, df1.schema) > self.assertEqual(df.count(), df1.count()) > schema2 = StructType([StructField("j", LongType())]) > df2 = df.to(schema2) > self.assertEqual(schema2, df2.schema) > self.assertEqual(df.count(), df2.count()) > schema3 = StructType([StructField("struct", schema1, False)]) > df3 = df.select(struct("i", "j").alias("struct")).to(schema3) > self.assertEqual(schema3, df3.schema) > self.assertEqual(df.count(), df3.count()) > # incompatible field nullability > schema4 = StructType([StructField("j", LongType(), False)]) > self.assertRaisesRegex( > AnalysisException, "NULLABLE_COLUMN_OR_FIELD", lambda: df.to(schema4) > ){code} > {code:java} > Traceback (most recent call last): > File > "/Users/s.singh/personal/spark-oss/python/pyspark/sql/tests/test_dataframe.py", > line 1486, in test_to > self.assertRaisesRegex( > AssertionError: AnalysisException not raised by <lambda> {code} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org