bschell commented on a change in pull request #1760:
URL: https://github.com/apache/hudi/pull/1760#discussion_r454038901
##########
File path: hudi-spark/src/main/scala/org/apache/hudi/AvroConversionUtils.scala
##########
@@ -78,4 +79,21 @@ object AvroConversionUtils {
def convertAvroSchemaToStructType(avroSchema: Schema): StructType = {
SchemaConverters.toSqlType(avroSchema).dataType.asInstanceOf[StructType]
}
+
+ private def deserializeRow(encoder: ExpressionEncoder[Row], internalRow:
InternalRow): Row = {
+ // First attempt to use spark2 API for deserialization, otherwise attempt
with spark3 API
+ try {
+ val spark2method = encoder.getClass.getMethods.filter(method =>
method.getName.equals("fromRow")).last
+ spark2method.invoke(encoder, internalRow).asInstanceOf[Row]
+ } catch {
+ case e: NoSuchElementException => spark3Deserialize(encoder, internalRow)
Review comment:
Thanks for the suggestion! I will try making the same change as that
commit you linked but I am going to see if I can test the performance impact
first.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]