Nhìn vào the accepted answer, có vẻ như sử dụng một số dạng cú pháp glob. Nó cũng cho thấy rằng API là một sự tiếp xúc của Hadoop's FileInputFormat
.
Tìm kiếm tiết lộ rằng đường dẫn được cung cấp cho FileInputFormat
's addInputPath
hoặc setInputPath
"may represent a file, a directory, or, by using glob, a collection of files and directories". Có lẽ, SparkContext
cũng sử dụng các API đó để đặt đường dẫn.
Các syntax of the glob bao gồm:
*
(trận đấu 0 hoặc nhân vật hơn)
?
(trận ký tự đơn)
[ab]
(nhân vật lớp)
[^ab]
(phủ nhận lớp nhân vật)
[a-b]
(dải ký tự)
{a,b}
(luân phiên)
\c
(thoát nhân vật)
Tiếp theo ví dụ trong câu trả lời được chấp nhận, chúng ta có thể viết đường dẫn của bạn như:
sc.textFile("/user/Orders/2015072[7-9]*,/user/Orders/2015073[0-1]*")
Nó Chưa rõ vì sao cú pháp luân phiên có thể được sử dụng ở đây, vì dấu phẩy được sử dụng để phân định một danh sách các đường dẫn (như được hiển thị ở trên). Theo bình luận zero323 's, không thoát là cần thiết:
sc.textFile("/user/Orders/201507{2[7-9],3[0-1]}*")
Cảm ơn, '{a, b}' cho luân phiên, không phải những gì tôi đã cố gắng: '(a | b)'. –
Tôi đã cố gắng loại trừ các tệp khỏi một loại nhất định, thật không may, không thành công, bạn có thể cung cấp ví dụ không? một số thứ như *.^tmp – Modi