다음 코드가 있으며 결과를 생성 한 직후 응용 프로그램이 종료됩니다. 내가 스파크 카산드라 커넥터와 카산드라에 대해 아래의 코드를 실행하면Cassandra 테이블에서 로컬 파일보다 데이터 집합을 읽을 때 Spark 응용 프로그램을 실행하는 데 시간이 오래 걸리는 이유는 무엇입니까?
def textProcess(sc: SparkContext) {
val baseRDD = sc.textFile("C:\\myDrive\\test.log")
val result = baseRDD.map { x => x }.reduce((accum, current) => accum)
println(result)
sc.close()
}
는하지만, 응용 프로그램은 후 약 10 초 지연을 종료합니다. 이 지연 스파크 카산드라 커넥터를 처리 할 때 왜
def dbProcess(sc: SparkContext) {
val baseRDD = sc.cassandraTable("local_test", "configurations")
val result = baseRDD.map { x => x.getString("keyname") }.reduce((accum,current) => accum)
println(result)
sc.close()
}
버전 정보
스파크 버전은 1.6.x 이상인
<dependency>
<groupId>com.datastax.spark</groupId>
<artifactId>spark-cassandra-connector_2.10</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>dse-driver</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>3.0.2</version>
</dependency>
내 질문은, 여기? 이 지연을 피할 수있는 방법이 있습니까? 또는이 버전 문제가 무엇입니까? (나는 다른 버전을 시도했지만 결과는 그대로입니다)
예. 그래서 내 클러스터 크기가 커지면이 지연이 증가할까요? – BDR
그것은 Cassandra가 새 노드를 처리하는 방법에 따라 달라지며 새로운 노드를 추가해도 반드시 cassandra 클라이언트의 성능에 영향을 줄 수는 없습니다. –
좋아요 .Jacek Laskowski 감사합니다. – BDR