2016-10-27 2 views
0
내가 JSON 파일과 스파크 RDD와 함께 연주하고 그 결과가 오는 곳에서 내가뿐만 아니라 소스 JSON 파일을 알고 싶어
val uisJson5 = sqlContext.read.json(
    sc.textFile("s3n://localtion/*") 
     .filter(line => 
     line.contains("\"xyz\":\"A\"") 
     && line.contains("\"id\":\"adasdfasdfasd\"") 
    )) 
uisJson5.show() 

스파크에서 RDD의 파일을 얻는 방법

아래처럼 뭔가를하고있는 중이 야

. 내가이 일을 할 수있는 방법이 있니?

편집 :

나는 당신이 flatMapValues와 함께 wholeTextFiles 찾고있는 코드

val uisJson1 = sc.textFile("s3n://localtion/*”) 
.filter(line => line.contains("\"xyz\":\"A\"") 
&& line.contains("\"id\":\"adasdfasdfasd\"")) 

uisJson1.collect().foreach(println) 

답변

2

이하로 사용하여 할 수 있었다.

wholeTextFiles을 사용하면 여러 개의 작은 텍스트 파일이 들어있는 디렉토리를 읽고 파일 이름, 내용 쌍으로 각 파일을 반환 할 수 있습니다. 이것은 textFile과는 대조적으로 각 파일에서 한 줄에 하나의 레코드를 반환합니다.

+0

오류가 발생했습니다. 값은 (문자열, 문자열) 의 구성원이 아닙니다. line.contains ("\"xyz \ ": \"A \ "") –

+0

질문의 수정 사항으로 게시하십시오 그리고 주석이 아닙니다! – eliasah

+0

예. 이제는 파일 이름을 가지고 있지만 구조가 바뀌 었습니다. 제 답변에서 말한 것처럼 말입니다. – eliasah

관련 문제