Guardando a the accepted answer, sembra utilizzare una qualche forma di sintassi Glob. Rivela inoltre che l'API è un'esposizione di FileInputFormat
di Hadoop.
La ricerca rivela che percorsi forniti a FileInputFormat
's addInputPath
o setInputPath
"may represent a file, a directory, or, by using glob, a collection of files and directories". Forse, SparkContext
utilizza anche tali API per impostare il percorso.
Il syntax of the glob include:
*
(partita 0 o più caratteri)
?
(corrispondenza singolo carattere)
[ab]
(classe di caratteri)
[^ab]
(classe di caratteri negata)
[a-b]
(intervallo caratteri)
{a,b}
(alternanza)
\c
(carattere di escape)
Seguendo l'esempio nella risposta accettata, è possibile scrivere il percorso come:
sc.textFile("/user/Orders/2015072[7-9]*,/user/Orders/2015073[0-1]*")
Non è chiaro come la sintassi alternanza può essere usato qui, poiché la virgola è usata per delimitare un elenco di percorsi (come mostrato sopra). Secondo commento zero323 s', nessun escape è necessario:
sc.textFile("/user/Orders/201507{2[7-9],3[0-1]}*")
Grazie, '{a, b}' per l'alternanza, non quello che stavo cercando: '(A | B)'. –
Ho provato a escludere i file da un certo tipo, sfortunatamente, senza successo, puoi fornire un esempio? alcune cose come *.^tmp – Modi