2017-11-29 1 views
0

sample.txt 파일이 있습니다 파일에 날짜와 시간이 기록 된 로그가 있습니다. 예를 들어SCALA에서 두 개의 구분 기호 또는 문자열을 사용하여 텍스트 파일의 특정 부분을 구문 분석하는 방법

,

10.10.2012: 
erewwetrt=1 
wrtertret=2 
ertertert=3 
; 
10.10.2012: 
asdafdfd=1 
adadfadf=2 
adfdafdf=3 
; 
10.12.2013: 
adfsfsdfgg=1 
sdfsdfdfg=2 
sdfsdgsdg=3 
; 
12.12.2012: 
asdasdas=1 
adasfasdf=2 
dfsdfsdf=3 
; 

난 그냥 단지 2012 년 데이터를 가져 오지하려는, 즉 between12.12.2012입니다 :에; scla 또는 spark scala에서 어떻게 수행 할 수 있습니까? 마침내 =를 쉼표로 제거하고 CSV 형식으로 저장해야합니다. 어떻게 할 수 있습니까?

+0

나는 불꽃 아파치 라이브러리를 사용 ... 당신을 감사합니다, – Esardes

답변

0

은 당신이 사용할 수있는 특정 부분을 추출하려면

def main(args:Array[String]):Unit={ 
    val text = "10.10.2012:\nerewwetrt=1\nwrtertret=2\nertertert=3\n;\n10.10.2012:\nasdafdfd=1\nadadfadf=2\nadfdafdf=3\n;\n10.12.2013:\nadfsfsdfgg=1\nsdfsdfdfg=2\nsdfsdgsdg=3\n;\n12.12.2012:\nasdasdas=1\nadasfasdf=2\ndfsdfsdf=3\n;" 
    val lines = text.split("\n") 
    val extracted = lines.dropWhile(_ != "12.12.2012:").drop(1).takeWhile(_ != ";") 
    extracted.foreach(println(_)) 
    } 
당신이 끝을 보여줄 수 있다면 당신의 필요를 명확히 도움이 될
+0

안녕하세요 알렉산더 원하는 결과, ("."). map (_. trim) .mkString (",") val file = sc.textFile ("/ home/user/logs/simple.txt") val dd = file.map) dd.saveAsTextFile ("/ home/user/logs/simple_out2.txt") ..... rdd의 일부가 아닌 dropWhile을 보여줍니다 ... sparkcontext를 사용하여 어떻게 할 수 있습니까? – user680288

+0

데이터 세트가 작 으면 당신은 당신의 데이터 집합을'Iterable'으로 변환 할'DataSet.collect'를 사용할 수 있습니다. 그러면 모든 표준 수집 작업 avai lable. 필요한 부분을 추출한 후 iterable을 다시 데이터 세트로 변환 할 수 있습니다. –

관련 문제