Github user HyukjinKwon commented on a diff in the pull request:

    https://github.com/apache/spark/pull/17149#discussion_r110114252
  
    --- Diff: 
sql/hive/src/main/scala/org/apache/spark/sql/hive/HiveExternalCatalog.scala ---
    @@ -285,7 +285,7 @@ private[spark] class HiveExternalCatalog(conf: 
SparkConf, hadoopConf: Configurat
             // compatible format, which means the data source is file-based 
and must have a `path`.
             require(table.storage.locationUri.isDefined,
               "External file-based data source table must have a `path` entry 
in storage properties.")
    -        Some(new Path(table.location).toUri.toString)
    --- End diff --
    
    Actually, I did a bit of search more about what `org.apache.hadoop.fs.Path` 
expects. It seems the 
[documentation](https://hadoop.apache.org/docs/stable/api/org/apache/hadoop/fs/Path.html)
 says:
    
    > Construct a path from a String. Path strings are URIs, but with unescaped 
elements and some additional normalization.
    
    It seems those strings are expected to be unescaped. So, it seems we 
support URI with unescaped characters, which is inherited from `Path`.
    
    I want to be sure on this because I have fixed many tests to use URIs to 
pass on Windows and I am about to fix them further in this way. @steveloughran, 
do you mind if I cc you and ask to take a look and help to confirm this please? 
I know no one who knows better about Hadoop.
     


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

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

Reply via email to