[ 
https://issues.apache.org/jira/browse/SPARK-2356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14062182#comment-14062182
 ] 

Sean Owen commented on SPARK-2356:
----------------------------------

Yeah you are right, on a closer look, this is coming from this bit in 
SparkContext's constructor, not when it is later accessed in hadoopRDD():

{code}
  val hadoopConfiguration: Configuration = {
    val hadoopConf = SparkHadoopUtil.get.newConfiguration()
{code}

So it gets triggered no matter what when you instantiate SparkContext.

This could be made lazy. But I see other things in SparkContext end up using 
it, like the EventLogger, so it would get evaluated pretty quickly even when 
not calling hadoopRDD().

I am not sure whether the resolution be that, well, Spark just uses the Hadoop 
APIs a lot and so you'd have to make sure Hadoop libraries can work properly on 
the platform, or, whether it's at all possible to tease these apart enough so 
that SparkContext doesn't touch this part of Hadoop unless it has to.

> Exception: Could not locate executable null\bin\winutils.exe in the Hadoop 
> ---------------------------------------------------------------------------
>
>                 Key: SPARK-2356
>                 URL: https://issues.apache.org/jira/browse/SPARK-2356
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>    Affects Versions: 1.0.0
>            Reporter: Kostiantyn Kudriavtsev
>
> I'm trying to run some transformation on Spark, it works fine on cluster 
> (YARN, linux machines). However, when I'm trying to run it on local machine 
> (Windows 7) under unit test, I got errors (I don't use Hadoop, I'm read file 
> from local filesystem):
> 14/07/02 19:59:31 WARN NativeCodeLoader: Unable to load native-hadoop library 
> for your platform... using builtin-java classes where applicable
> 14/07/02 19:59:31 ERROR Shell: Failed to locate the winutils binary in the 
> hadoop binary path
> java.io.IOException: Could not locate executable null\bin\winutils.exe in the 
> Hadoop binaries.
>       at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:318)
>       at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:333)
>       at org.apache.hadoop.util.Shell.<clinit>(Shell.java:326)
>       at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
>       at org.apache.hadoop.security.Groups.parseStaticMapping(Groups.java:93)
>       at org.apache.hadoop.security.Groups.<init>(Groups.java:77)
>       at 
> org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:240)
>       at 
> org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:255)
>       at 
> org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:283)
>       at 
> org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:36)
>       at 
> org.apache.spark.deploy.SparkHadoopUtil$.<init>(SparkHadoopUtil.scala:109)
>       at 
> org.apache.spark.deploy.SparkHadoopUtil$.<clinit>(SparkHadoopUtil.scala)
>       at org.apache.spark.SparkContext.<init>(SparkContext.scala:228)
>       at org.apache.spark.SparkContext.<init>(SparkContext.scala:97)
> It's happend because Hadoop config is initialised each time when spark 
> context is created regardless is hadoop required or not.
> I propose to add some special flag to indicate if hadoop config is required 
> (or start this configuration manually)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to