У меня проблема при попытке загрузить файл ORC / Parquet в spark (2.2), который находится по пути, содержащему пробелы.
HDFS допускает пробелы в именах каталогов.
hdfs dfs -mkdir /tmp/dir\ with\ whitespace
Однако чтение файла, находящегося в этом каталоге, кажется невозможным в Spark. Использование входного пути с пробелом вызывает исключение AnalysisException
final DataFrameReader reader = sparkSession.read().format("orc");
Dataset<Row> dataFrame = reader.load("[...]/tmp/dir with whitespace/abc.orc");
Логический план, похоже, в порядке, путь указан в кавычках (orc
. [...]/tmp/dir with whitespace/abc.orc
). Однако его нельзя выполнить, так как во время анализа плана возникает исключение. Мне кажется, что путь больше не указывается после того, как план переписан с логического на физический путь, и это вызывает проблемы с синтаксическим анализом.
Не помогает замена "" на "\" или "% 20" в пути.
У кого-нибудь есть подсказка, как загрузить данные из пути, содержащего пробелы?