wangyum commented on code in PR #36625:
URL: https://github.com/apache/spark/pull/36625#discussion_r885194597


##########
sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala:
##########
@@ -753,7 +760,10 @@ private[hive] class HiveClientImpl(
         assert(s.values.forall(_.nonEmpty), s"partition spec '$s' is invalid")
         s
     }
-    val parts = shim.getPartitions(client, hiveTable, 
partSpec.asJava).map(fromHivePartition)
+    val absoluteUri = 
shim.getDataLocation(hiveTable).map(stringToURI).filter(!_.isAbsolute)
+      .map(_ => 
stringToURI(client.getDatabase(hiveTable.getDbName).getLocationUri))
+    val parts = shim.getPartitions(client, hiveTable, partSpec.asJava)
+      .map(fromHivePartition(_, absoluteUri))

Review Comment:
   No. the `absoluteUri ` is None if table location is absolute uri.



##########
sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveExternalCatalog.scala:
##########
@@ -842,10 +843,11 @@ private[spark] class HiveExternalCatalog(conf: SparkConf, 
hadoopConf: Configurat
     // source tables. Here we set the table location to `locationUri` field 
and filter out the
     // path option in storage properties, to avoid exposing this concept 
externally.
     val storageWithLocation = {
-      val tableLocation = getLocationFromStorageProps(table)
+      val tableLocation = getLocationFromStorageProps(table).map { path =>
+        toAbsoluteURI(CatalogUtils.stringToURI(path), 
table.storage.locationUri)

Review Comment:
   OK



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to