0
문자열을 가져 와서 하위 문자열을 사용하여 문자열에서 값을 추출하고이 값을 사용하여 Cassandra 테이블을 쿼리하는 기능이 있습니다.Spark RDD를 사용하여 문자열을 전달하면 Cassandra에 대한 쿼리가 끊깁니다.
def formatInputString(line: String) = {
// extract values from line using sub-string and query Cassandra table.
}
내가 Source.fromFile를 사용하여 텍스트 파일을 읽어 값을 전달하면, 그것은 작동 (카산드라의 결과를 출력)
...
// using Scala getLine()
for (line <- Source.fromFile("file.txt").getLines()) {
formatInputString(line)
}
그러나 그것은처럼 사용 불꽃 RDD 경우를 끊은 이 ...
// using Spark RDD
val line = sc.textFile("file.txt")
val lst = line.map(formatInputString)
누군가가이 동작을 설명하고이를 해결하는 방법 (RDD 버전을 사용해야 함)이 가능합니까?
"file.txt"는 로컬 파일입니까? 'textFile'은 HDFS 파일을 기대합니다. 오류가 없으므로 결과를 '수집'해야 할 수도 있습니다. spark의 로컬 파일에 관해서는 여기를 참고하십시오 : http://stackoverflow.com/questions/27299923/how-to-load-local-file-in-sc-textfile-instead-of-hdfs – spiffman