Package pyspark :: Module files
[frames] | no frames]

Source Code for Module pyspark.files

 1  # 
 2  # Licensed to the Apache Software Foundation (ASF) under one or more 
 3  # contributor license agreements.  See the NOTICE file distributed with 
 4  # this work for additional information regarding copyright ownership. 
 5  # The ASF licenses this file to You under the Apache License, Version 2.0 
 6  # (the "License"); you may not use this file except in compliance with 
 7  # the License.  You may obtain a copy of the License at 
 8  # 
 9  #    http://www.apache.org/licenses/LICENSE-2.0 
10  # 
11  # Unless required by applicable law or agreed to in writing, software 
12  # distributed under the License is distributed on an "AS IS" BASIS, 
13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14  # See the License for the specific language governing permissions and 
15  # limitations under the License. 
16  # 
17   
18  import os 
19 20 21 -class SparkFiles(object):
22 """ 23 Resolves paths to files added through 24 L{SparkContext.addFile()<pyspark.context.SparkContext.addFile>}. 25 26 SparkFiles contains only classmethods; users should not create SparkFiles 27 instances. 28 """ 29 30 _root_directory = None 31 _is_running_on_worker = False 32 _sc = None 33
34 - def __init__(self):
35 raise NotImplementedError("Do not construct SparkFiles objects")
36 37 @classmethod
38 - def get(cls, filename):
39 """ 40 Get the absolute path of a file added through C{SparkContext.addFile()}. 41 """ 42 path = os.path.join(SparkFiles.getRootDirectory(), filename) 43 return os.path.abspath(path)
44 45 @classmethod
46 - def getRootDirectory(cls):
47 """ 48 Get the root directory that contains files added through 49 C{SparkContext.addFile()}. 50 """ 51 if cls._is_running_on_worker: 52 return cls._root_directory 53 else: 54 # This will have to change if we support multiple SparkContexts: 55 return cls._sc._jvm.org.apache.spark.SparkFiles.getRootDirectory()
56