You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Hyukjin Kwon (JIRA)" <ji...@apache.org> on 2019/05/21 04:04:35 UTC

[jira] [Updated] (SPARK-23641) Wrong username when making relative path to Hive LOAD DATA absolute

     [ https://issues.apache.org/jira/browse/SPARK-23641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Hyukjin Kwon updated SPARK-23641:
---------------------------------
    Labels: bulk-closed  (was: )

> Wrong username when making relative path to Hive LOAD DATA absolute
> -------------------------------------------------------------------
>
>                 Key: SPARK-23641
>                 URL: https://issues.apache.org/jira/browse/SPARK-23641
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 2.1.0
>            Reporter: Andrei Badea
>            Priority: Minor
>              Labels: bulk-closed
>
> We have an application deployed in yarn-cluster mode.
> At some point, the application invokes
> {noformat}
> spark.sql("LOAD DATA INPATH some/relative/path ...")
> {noformat}
> in an attempt to add that directory to a Hive table. The relative path should be interpreted relatively to the home directory of the user who ran the Spark application (this is what the Hive shell does).
> The command runs without failing, but the directory is not added to the table. Investigation showed that {{org.apache.spark.sql.execution.command.LoadDataCommand}} attempts to make the path absolute by prepending {{s"/user/${System.getProperty("user.name")}"}}. Since the application was deployed in yarn-cluster mode, the value of the {{user.name}} property is "yarn". This is illustrated by the following message in the driver logs:
> {noformat}
> INFO metadata.Hive: No sources specified to move: hdfs://namenode:8020/user/yarn/some/relative/path{noformat}
> Interestingly, the same Spark application writes the data to the relative path (prior to calling LOAD DATA), and that makes the path absolute as expected. It uses {{Path.makeQualified()}}, which makes the path relative against {{FileSystem.getWorkingDirectory}}, which by default is {{FileSystem.getHomeDirectory}} (and that apparently initializes early enough – on the machine on which the application is submitted).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org