Ответ 1
Глядя на принятый ответ, он, похоже, использует синтаксис некоторой формы glob. Он также показывает, что API является объектом Hadoop FileInputFormat
.
Поиск показывает, что пути, переданные в FileInputFormat
addInputPath
или setInputPath
могут представлять файл, каталог или, используя glob, сбор файлов и каталогов ". Возможно, SparkContext
также использует эти API для установки пути.
Синтаксис glob включает в себя:
-
*
(соответствует 0 или более символу) -
?
(соответствует одному символу) -
[ab]
(класс символов) -
[^ab]
(отрицательный класс символов) -
[a-b]
(диапазон символов) -
{a,b}
(чередование) -
\c
(escape-символ)
Следуя примеру в принятом ответе, вы можете написать свой путь как:
sc.textFile("/user/Orders/2015072[7-9]*,/user/Orders/2015073[0-1]*")
Непонятно, как здесь можно использовать синтаксис чередования, поскольку запятая используется для разграничения списка путей (как показано выше). Согласно комментарию zero323, не требуется экранирование:
sc.textFile("/user/Orders/201507{2[7-9],3[0-1]}*")