[SCALA] 어떻게 sc.textFile 일부 입력 파일을 포함 / 제외 정규식을 사용 하는가?
SCALA어떻게 sc.textFile 일부 입력 파일을 포함 / 제외 정규식을 사용 하는가?
내가 RDD 기능 sc.textFile에 파일 내부에 아파치 불꽃을 사용하여 특정 파일의 날짜를 필터링하려고했습니다 ().
나는 다음을 수행하려고했습니다 :
sc.textFile("/user/Orders/201507(2[7-9]{1}|3[0-1]{1})*")
여기에는 다음과 일치해야합니다 :
/user/Orders/201507270010033.gz
/user/Orders/201507300060052.gz
모든 아이디어를 어떻게 이것을 달성하기 위해?
해결법
-
==============================
1.허용 대답을 보면, 글로브 구문의 일부 양식을 사용하는 것 같다. 또한 API는 하둡의 FileInputFormat의 노출임을 알 수있다.
허용 대답을 보면, 글로브 구문의 일부 양식을 사용하는 것 같다. 또한 API는 하둡의 FileInputFormat의 노출임을 알 수있다.
검색은 FileInputFormat의 addInputPath 또는 setInputPath에 공급 경로가 "글로브, 파일 및 디렉토리의 컬렉션을 사용하여, 파일, 디렉토리를 표시하거나 할 수있다"고 밝혀. 아마, SparkContext 또한 경로를 설정하는 API를 사용합니다.
글로브의 구문 포함
허용 대답의 예에 따라, 귀하의 경로를 작성할 수 있습니다 :
sc.textFile("/user/Orders/2015072[7-9]*,/user/Orders/2015073[0-1]*")
그것은 쉼표 경로의 목록을 구분하는 데 사용되기 때문에 (위와 같이) 교대 구문, 여기에 어떻게 사용될 수 있는지 분명하지 않다. zero323의 의견에 따르면, 더 이스케이프 할 필요가 없습니다 :
sc.textFile("/user/Orders/201507{2[7-9],3[0-1]}*")
from https://stackoverflow.com/questions/31782763/how-to-use-regex-to-include-exclude-some-input-files-in-sc-textfile by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 스칼라는 밑줄 - 오류 : 확장 기능에 대한 매개 변수 유형 누락 (0) | 2019.11.04 |
---|---|
[SCALA] 스칼라 생성자 과부하? (0) | 2019.11.04 |
[SCALA] 에디터는 주요 유형을 포함하지 않습니다 (0) | 2019.11.03 |
[SCALA] 아파치 스파크 1.3에서 데이터 프레임에 열을 추가 (0) | 2019.11.03 |
[SCALA] 있는 ScrollView 내부 Google지도 API v2로 SupportMapFragment - 사용자가 수직으로지도를 스크롤 할 수 없습니다 (0) | 2019.11.03 |