File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed
sdk/python/feast/infra/compute_engines/spark Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change 44import pandas as pd
55from pyspark .sql import DataFrame , SparkSession , Window
66from pyspark .sql import functions as F
7+ from pyspark .sql .pandas .types import from_arrow_schema
78
89from feast import BatchFeatureView , StreamFeatureView
910from feast .aggregation import Aggregation
@@ -80,7 +81,15 @@ def execute(self, context: ExecutionContext) -> DAGValue:
8081 if isinstance (retrieval_job , SparkRetrievalJob ):
8182 spark_df = cast (SparkRetrievalJob , retrieval_job ).to_spark_df ()
8283 else :
83- spark_df = self .spark_session .createDataFrame (retrieval_job .to_arrow ())
84+ arrow_table = retrieval_job .to_arrow ()
85+ if arrow_table .num_rows == 0 :
86+ spark_schema = from_arrow_schema (arrow_table .schema )
87+ spark_df = self .spark_session .createDataFrame (
88+ self .spark_session .sparkContext .emptyRDD (), schema = spark_schema
89+ )
90+ else :
91+ spark_df = self .spark_session .createDataFrame (arrow_table .to_pandas ())
92+
8493
8594 return DAGValue (
8695 data = spark_df ,
@@ -94,7 +103,6 @@ def execute(self, context: ExecutionContext) -> DAGValue:
94103 },
95104 )
96105
97-
98106class SparkAggregationNode (DAGNode ):
99107 def __init__ (
100108 self ,
You can’t perform that action at this time.
0 commit comments