Skip to content

Commit fef7c57

Browse files
authored
[DAT-1492] Make bigtable keys deterministic (#145)
Signed-off-by: Khor Shu Heng <khor.heng@gojek.com> Co-authored-by: Khor Shu Heng <khor.heng@gojek.com>
1 parent fcb80a0 commit fef7c57

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

spark/ingestion/src/main/scala/feast/ingestion/stores/bigtable/BigTableSinkRelation.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,13 @@ class BigTableSinkRelation(
109109

110110
val featureColumns = featureFields.map(f => data(f.name))
111111

112-
val entityColumns = config.entityColumns.map(c => data(c).cast(StringType))
113-
val schema = serializer.convertSchema(StructType(featureFields))
114-
val schemaReference = serializer.schemaReference(schema)
112+
val sortedEntityColumns = config.entityColumns.sorted.map(c => data(c).cast(StringType))
113+
val schema = serializer.convertSchema(StructType(featureFields))
114+
val schemaReference = serializer.schemaReference(schema)
115115

116116
data
117117
.select(
118-
joinEntityKey(struct(entityColumns: _*)).alias("key"),
118+
joinEntityKey(struct(sortedEntityColumns: _*)).alias("key"),
119119
serializer.serializeData(schema)(struct(featureColumns: _*)).alias("value"),
120120
col(config.timestampColumn).alias("ts")
121121
)

0 commit comments

Comments
 (0)