0
행에 두 개의 double이있는 DataFrame이 있습니다. DataFrame을 JSON 목록으로 나타내는 형식화 된 String을 생성하려고합니다. 여기 내 코드는 다음 RDD에서RDD에서 문자열 추출
df.rdd.take(5)
val values = df.rdd.map{ case Row(x :Double ,y: Double) => (x,y,50) }
take(5)
은 다음과 같습니다 : 나는 순차적를 시도
"[[41.64068433800631,37.689287325884315, 50], [37.01941012184662,30.390807326639077, 50], [34.02364443854447,40.55991398223156, 50], [41.52505975127479,42.02651332703204, 50], [39.33233947587333,33.62091706778894, 50]]
:
Array[org.apache.spark.sql.Row] = Array([41.64068433800631,37.689287325884315], [37.01941012184662,30.390807326639077], [34.02364443854447,40.55991398223156], [41.52505975127479,42.02651332703204], [39.33233947587333,33.62091706778894])
나는이처럼 보이는 문자열을 갖고 싶어 문자열을 생성하는 접근 방식이지만 이상한 오류가 발생합니다.
val valuesCol = values.collect()
var a = "["
for(a <- 1 to valuesCol.length){
a = a + "[" + valuesCol(1)._1+ "," + valuesCol(1)._2 + "," + valuesCol(1)._3 + "]"
}
a = a + "]"
println(a)
오류 :
error: reassignment to val
당신이 a
을 볼 수 있듯이이 var
이다. 나는 문제가 무엇인지 알지 못한다. 이 오류를 해결할 수있는 방법이나 다른 방법이 유용 할 것입니다.