Проблема в том, что вы передаете в FileSystem пустой файл conf.
Вы должны создать свою файловую систему следующим образом:
FileSystem.get(spark.sparkContext().hadoopConfiguration());
, когда искра является объектом SparkSession.
Как видно из кода FileSystem:
/**
* Returns the configured filesystem implementation.
* @param conf the configuration to use
*/
public static FileSystem get(Configuration conf) throws IOException {
return get(getDefaultUri(conf), conf);
}
/** Get the default filesystem URI from a configuration.
* @param conf the configuration to use
* @return the uri of the default filesystem
*/
public static URI getDefaultUri(Configuration conf) {
return URI.create(fixName(conf.get(FS_DEFAULT_NAME_KEY, DEFAULT_FS)));
}
создает базу URI для конфигурации, переданной в качестве параметра, ищет ключ FS_DEFAULT_NAME_KEY (fs.defaultFS), когда DEFAULT_FS:
public static final String FS_DEFAULT_NAME_DEFAULT = "file:///";