2016-11-08 9 views
0

Как я могу прочитать CSV в искру, используя относительный путь? До сих пор использование абсолютного пути работало просто отлично (1.6.2, 2.0.1), но мне потребовалась бы загрузка данных через относительный путь.Spark read CSV realtive path

Попытка прочитать файл как

val mynewDf = spark.read 
    .option("header", "true") 
    .option("inferSchema", "true") 
    .option("charset", "UTF-8") 
    .option("delimiter", ";") 
    .csv("~/myProject/someFolder/data.csv") 

Результаты в следующем за исключением

Path does not exist: file:/Users/geoHeil/source/to/scala/sparkProject/~/myProject/someFolder/data.csv; 

ответ

0

Так что не всегда это искра, чтобы быть обвинен;) я остановился на использовании простой Scala, чтобы получить относительное путь к файлу:

var path = "~/myProject/data/data.csv" 
path = path.replaceFirst("^~", System.getProperty("user.home"))