You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2021/09/29 20:57:06 UTC

[GitHub] [spark] ueshin commented on a change in pull request #34136: [SPARK-36884][PYTHON] Inline type hints for pyspark.sql.session

ueshin commented on a change in pull request #34136:
URL: https://github.com/apache/spark/pull/34136#discussion_r718879032



##########
File path: python/pyspark/sql/session.py
##########
@@ -19,24 +19,46 @@
 import warnings
 from functools import reduce
 from threading import RLock
+from types import TracebackType
+from typing import (
+    Any, Dict, Iterable, List, Optional, Tuple, Type, Union,
+    cast, no_type_check, overload, TYPE_CHECKING
+)
 
-from pyspark import since
+from py4j.java_gateway import JavaObject  # type: ignore[import]
+
+from pyspark import SparkConf, SparkContext, since
 from pyspark.rdd import RDD
 from pyspark.sql.conf import RuntimeConfig
 from pyspark.sql.dataframe import DataFrame
 from pyspark.sql.pandas.conversion import SparkConversionMixin
 from pyspark.sql.readwriter import DataFrameReader
 from pyspark.sql.streaming import DataStreamReader
-from pyspark.sql.types import DataType, StructType, \
-    _make_type_verifier, _infer_schema, _has_nulltype, _merge_type, _create_converter, \
+from pyspark.sql.types import (  # type: ignore[attr-defined]
+    AtomicType, DataType, StructType,
+    _make_type_verifier, _infer_schema, _has_nulltype, _merge_type, _create_converter,
     _parse_datatype_string
+)
 from pyspark.sql.utils import install_exception_handler, is_timestamp_ntz_preferred
 
+if TYPE_CHECKING:
+    from pyspark.sql._typing import DateTimeLiteral, LiteralType, DecimalLiteral, RowLike
+    from pyspark.sql.catalog import Catalog
+    from pyspark.sql.pandas._typing import DataFrameLike as PandasDataFrameLike
+    from pyspark.sql.streaming import StreamingQueryManager
+    from pyspark.sql.udf import UDFRegistration
+
+
 __all__ = ["SparkSession"]
 
 
-def _monkey_patch_RDD(sparkSession):
-    def toDF(self, schema=None, sampleRatio=None):
+def _monkey_patch_RDD(sparkSession: "SparkSession") -> None:
+
+    def toDF(
+        self: "RDD[RowLike]",
+        schema: Optional[Union[List[str], Tuple[str, ...]]] = None,

Review comment:
       Ah, cool. I missed there are the annotations in `rdd.pyi`.
   I guess we can just mark it `@no_type_check` here. 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