@@ -1324,18 +1324,14 @@ def is_spark_dataframe(self, dataframe):
1324
1324
return True
1325
1325
return False
1326
1326
1327
- def save_empty_dataframe (self , feature_group , new_features = None ):
1327
+ def save_empty_dataframe (self , feature_group ):
1328
1328
location = feature_group .prepare_spark_location ()
1329
1329
1330
1330
dataframe = self ._spark_session .read .format ("hudi" ).load (location )
1331
1331
1332
- if (new_features is not None ):
1333
- if isinstance (new_features , list ):
1334
- for new_feature in new_features :
1335
- dataframe = dataframe .withColumn (new_feature .name , lit (None ).cast (new_feature .type ))
1336
- else :
1337
- dataframe = dataframe .withColumn (new_features .name , lit (None ).cast (new_features .type ))
1338
-
1332
+ for feature in feature_group .features :
1333
+ if feature .name not in dataframe .columns :
1334
+ dataframe = dataframe .withColumn (feature .name , lit (None ).cast (feature .type ))
1339
1335
1340
1336
self .save_dataframe (
1341
1337
feature_group ,
@@ -1347,17 +1343,14 @@ def save_empty_dataframe(self, feature_group, new_features=None):
1347
1343
{},
1348
1344
)
1349
1345
1350
- def add_cols_to_delta_table (self , feature_group , new_features ):
1346
+ def add_cols_to_delta_table (self , feature_group ):
1351
1347
location = feature_group .prepare_spark_location ()
1352
1348
1353
1349
dataframe = self ._spark_session .read .format ("delta" ).load (location )
1354
1350
1355
- if (new_features is not None ):
1356
- if isinstance (new_features , list ):
1357
- for new_feature in new_features :
1358
- dataframe = dataframe .withColumn (new_feature .name , lit ("" ).cast (new_feature .type ))
1359
- else :
1360
- dataframe = dataframe .withColumn (new_features .name , lit ("" ).cast (new_features .type ))
1351
+ for feature in feature_group .features :
1352
+ if feature .name not in dataframe .columns :
1353
+ dataframe = dataframe .withColumn (feature .name , lit (None ).cast (feature .type ))
1361
1354
1362
1355
dataframe .limit (0 ).write .format ("delta" ).mode (
1363
1356
"append"
0 commit comments