Github user gengliangwang commented on a diff in the pull request: https://github.com/apache/spark/pull/21667#discussion_r199494578 --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/FileFormat.scala --- @@ -152,6 +152,16 @@ trait FileFormat { } } + /** + * Returns whether this format supports the given [[DataType]] in read/write path. + * + * By default all data types are supported except [[CalendarIntervalType]] in write path. + */ + def supportDataType(dataType: DataType, isReadPath: Boolean): Boolean = dataType match { --- End diff -- Whitelist for all file formats is behavior change. There are external file sources like https://github.com/databricks/spark-avro , which we probably have to update the code to make it compatible. Currently exceptions are thrown in `buildReader` / `buildReaderWithPartitionValues`/ `prepareWrite` for unsupported types. So overall I prefer blacklist.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org