Github user gatorsmile commented on a diff in the pull request:
https://github.com/apache/spark/pull/21893#discussion_r206235932
--- Diff:
sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveStrategies.scala ---
@@ -182,7 +182,9 @@ case class RelationConversions(
sessionCatalog: HiveSessionCatalog) extends Rule[LogicalPlan] {
private def isConvertible(relation: HiveTableRelation): Boolean = {
val serde =
relation.tableMeta.storage.serde.getOrElse("").toLowerCase(Locale.ROOT)
- serde.contains("parquet") &&
conf.getConf(HiveUtils.CONVERT_METASTORE_PARQUET) ||
+ val hasMultiFormatPartitions =
relation.tableMeta.hasMultiFormatPartitions
+ serde.contains("parquet") &&
conf.getConf(HiveUtils.CONVERT_METASTORE_PARQUET) &&
+ (!hasMultiFormatPartitions) ||
--- End diff --
this should be applicable to both orc and parquet
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]