저는 아주 새로워졌습니다. [오류] [클라이언트가 10.2.23.89 (36)도 파일 이름 : 나는 날짜와spark를 사용하여 특정 메시지를 가져와야합니다.
십일 (11) 9시 44분 53초는 www가 아파치 [1933] 다음과 같은 오류 로그에서 오류 메시지를 끌어하려고 긴
십일 11 9시 49분 38초 WWW 아파치 [2728] : [오차 (36)가 너무 긴 파일 이름 [10.2.23.128 클라이언트] 십일 11 10시 14분 23초 WWW 아파치 [4530]
: [오류] [클라이언트] 10.2.23.243] (36) 파일 이름이 너무 깁니다.
11 월 11 일 10:15:24 www httpd [4630] : [오류] [클라이언트 10.2.23.42] (36) 파일 이름이 너무 깁니다.
,11월 11일 12시 5분 7초 www가 아파치 [12062] : [오류] (36)
내가 스칼라 쉘에서 사용했던이 내 스크립트에 너무 긴 이름 파일 [10.2.23.148 클라이언트]
val inputfile = sc.textFile("hdfs://localhost:8020/kirthi/errorlog.txt")
val elog = inputfile.map(line => (line.substring(0, 6),line.substring(65, 83)))
elog.collect()
출력이 나오지만 예상대로 아닙니다. 메시지는 모든 튜플에서 완전히 꺼내지지 않습니다. 로그의 각 행의 길이가 다양하기 때문에 내가 문자열의 길이를 늘리면
Array[(String, String)] = Array((Nov 11,File name too long), (Nov 11,File name too long), (Nov 11,File name too long), (Nov 11,File name too long), (Nov 11,File name too long))
아래에 게시 된
Array[(String, String)] = Array((Nov 11,File name too long), (Nov 11,)File name too lon), (Nov 11,)File name too lon), (Nov 11,File name too long), (Nov 11,6)File name too lo))
는하지만 출력을 원하는, 내가 경계 기대 오류 중 배열을 타격하고있다.
스파크 질문보다 정규식 질문이 – marios