У меня есть входной файл с настраиваемыми разделителями, который передается в newAPIHadoopFile для преобразования как RDD [String]. Файл находится в каталоге ресурсов проекта. Следующий код хорошо работает при запуске из Eclipse IDE.
val path = this.getClass()
.getClassLoader()
.getResource(fileName)
.toURI().toString()
val conf = new org.apache.hadoop.conf.Configuration()
conf.set("textinputformat.record.delimiter", recordDelimiter)
return sc.newAPIHadoopFile(
path,
classOf[org.apache.hadoop.mapreduce.lib.input.TextInputFormat],
classOf[org.apache.hadoop.io.LongWritable],
classOf[org.apache.hadoop.io.Text],
conf)
.map(_._2.toString)
Однако, когда я запускаю его на spark-submit (с uber jar) следующим образом
spark-submit /Users/anon/Documents/myUber.jar
Я получаю ошибку ниже.
Exception in thread "main" java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: jar:file:/Users/anon/Documents/myUber.jar!/myhome-data.json
Какие-нибудь данные, пожалуйста?