[ https://issues.apache.org/jira/browse/SPARK-34365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17279862#comment-17279862 ]
Apache Spark commented on SPARK-34365: -------------------------------------- User 'xkrogen' has created a pull request for this issue: https://github.com/apache/spark/pull/31490 > Support configurable Avro schema field matching for positional or by-name > ------------------------------------------------------------------------- > > Key: SPARK-34365 > URL: https://issues.apache.org/jira/browse/SPARK-34365 > Project: Spark > Issue Type: Improvement > Components: SQL > Affects Versions: 3.0.1 > Reporter: Erik Krogen > Priority: Major > > When reading an Avro dataset (using the dataset's schema or by overriding it > with 'avroSchema') or writing an Avro dataset with a provided schema by > 'avroSchema', currently the matching of Catalyst-to-Avro fields is done by > field name. > This behavior is somewhat recent; prior to SPARK-27762 (fixed in 3.0.0), at > least on the write path, we would match the schemas by positionally > ("structural" comparison). While I agree that this is much more sensible for > default behavior, I propose that we make this behavior configurable using an > {{option}} for the Avro datasource. Even at the time that SPARK-27762 was > handled, there was [interest in making this behavior > configurable|https://github.com/apache/spark/pull/24635#issuecomment-494205251], > but it appears it went unaddressed. > There is precedence for configurability of this behavior as seen in > SPARK-32864, which added this support for ORC. Besides this precedence, the > behavior of Hive is to perform matching positionally > ([ref|https://cwiki.apache.org/confluence/display/Hive/AvroSerDe#AvroSerDe-WritingtablestoAvrofiles]), > so this is behavior that Hadoop/Hive ecosystem users are familiar with: > {quote} > Hive is very forgiving about types: it will attempt to store whatever value > matches the provided column in the equivalent column position in the new > table. No matching is done on column names, for instance. > {quote} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org