Загрузочный файл Spark Java API с пробелами в пути - PullRequest
0 голосов
/ 27 июня 2018

У меня проблема при попытке загрузить файл 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" в пути.

У кого-нибудь есть подсказка, как загрузить данные из пути, содержащего пробелы?

...