1- from typing import Any , Union , Dict , Optional , cast
1+ from typing import Any , Dict , Optional , Union , cast
22
33import pandas as pd
44import pyspark .sql
55
6+ from feast .infra .compute_engines .spark .utils import get_or_create_new_spark_session
67from feast .transformation .base import Transformation
78from feast .transformation .mode import TransformationMode
8- from feast .infra .compute_engines .spark .utils import get_or_create_new_spark_session
99
1010
1111class SparkTransformation (Transformation ):
12-
13- def __new__ (cls ,
14- mode : Union [TransformationMode , str ],
15- udf : Any ,
16- udf_string : str ,
17- spark_config : Dict [str , Any ] = {},
18- name : Optional [str ] = None ,
19- tags : Optional [Dict [str , str ]] = None ,
20- description : str = "" ,
21- owner : str = "" ,
22- * args ,
23- ** kwargs ) -> "SparkTransformation" :
12+ def __new__ (
13+ cls ,
14+ mode : Union [TransformationMode , str ],
15+ udf : Any ,
16+ udf_string : str ,
17+ spark_config : Dict [str , Any ] = {},
18+ name : Optional [str ] = None ,
19+ tags : Optional [Dict [str , str ]] = None ,
20+ description : str = "" ,
21+ owner : str = "" ,
22+ * args ,
23+ ** kwargs ,
24+ ) -> "SparkTransformation" :
2425 instance = super (SparkTransformation , cls ).__new__ (
2526 cls ,
2627 mode = mode ,
@@ -34,17 +35,19 @@ def __new__(cls,
3435 )
3536 return cast (SparkTransformation , instance )
3637
37- def __init__ (self ,
38- mode : Union [TransformationMode , str ],
39- udf : Any ,
40- udf_string : str ,
41- spark_config : Dict [str , Any ] = {},
42- name : Optional [str ] = None ,
43- tags : Optional [Dict [str , str ]] = None ,
44- description : str = "" ,
45- owner : str = "" ,
46- * args ,
47- ** kwargs ):
38+ def __init__ (
39+ self ,
40+ mode : Union [TransformationMode , str ],
41+ udf : Any ,
42+ udf_string : str ,
43+ spark_config : Dict [str , Any ] = {},
44+ name : Optional [str ] = None ,
45+ tags : Optional [Dict [str , str ]] = None ,
46+ description : str = "" ,
47+ owner : str = "" ,
48+ * args ,
49+ ** kwargs ,
50+ ):
4851 super ().__init__ (
4952 mode = mode ,
5053 udf = udf ,
@@ -56,36 +59,34 @@ def __init__(self,
5659 )
5760 self .spark_session = get_or_create_new_spark_session (spark_config )
5861
59- def transform (self ,
60- * inputs : Union [str , pd .DataFrame ],
61- ) -> pd .DataFrame :
62+ def transform (
63+ self ,
64+ * inputs : Union [str , pd .DataFrame ],
65+ ) -> pd .DataFrame :
6266 if self .mode == TransformationMode .SPARK_SQL :
6367 return self ._transform_spark_sql (* inputs )
6468 else :
6569 return self ._transform_spark_udf (* inputs )
6670
6771 @staticmethod
68- def _create_temp_view_for_dataframe (df : pyspark .sql .DataFrame ,
69- name : str ):
72+ def _create_temp_view_for_dataframe (df : pyspark .sql .DataFrame , name : str ):
7073 df_temp_view = f"feast_transformation_temp_view_{ name } "
7174 df .createOrReplaceTempView (df_temp_view )
7275 return df_temp_view
7376
74- def _transform_spark_sql (self ,
75- * inputs : Union [pyspark .sql .DataFrame , str ]
76- ) -> pd .DataFrame :
77+ def _transform_spark_sql (
78+ self , * inputs : Union [pyspark .sql .DataFrame , str ]
79+ ) -> pd .DataFrame :
7780 inputs_str = [
7881 self ._create_temp_view_for_dataframe (v , f"index_{ i } " )
79- if isinstance (v , pyspark .sql .DataFrame ) else v
82+ if isinstance (v , pyspark .sql .DataFrame )
83+ else v
8084 for i , v in enumerate (inputs )
8185 ]
8286 return self .spark_session .sql (self .udf (* inputs_str ))
8387
84- def _transform_spark_udf (self ,
85- * inputs : Any ) -> pd .DataFrame :
88+ def _transform_spark_udf (self , * inputs : Any ) -> pd .DataFrame :
8689 return self .udf (* inputs )
8790
88- def infer_features (self ,
89- * args ,
90- ** kwargs ) -> Any :
91+ def infer_features (self , * args , ** kwargs ) -> Any :
9192 pass
0 commit comments