2
내 설정 :스파크 작업 속도 관계형
- 나는 MS SQL 서버
- 내가 푸른 HDInsights
- Spark.Version에서 실행되는 스파크 클러스터가 푸른 (V12)을 실행이 : 1.6.2
- Scala.Version : 2.10.5 나는 JDBC 드라이버를 통해, SQL 서버에서 내 데이터 (약 5 백만 행)에서 당겨, 다음 일을 업데이트하고
열 이름. 그렇다면 내 논리를 수행합니다.
println("SQL Load Start: " + TimeStamp.getCurrentTime.toDateString)
val options: Map[String, String] = Map("url" -> connectionString,
"dbtable" -> ("(SELECT * FROM Data)" + "Data"))
val data = sQLContext.read.format("jdbc").options(options).load()
println("DF Count: " + data.count().toString)
println("Partition Count: " + data.rdd.partitions.length.toString)
println("SQL Load End: " + TimeStamp.getCurrentTime.toDateString)
나는 SQL 서버를 확장
, 내 데이터를 빠르게에서 읽어 내 논리는 약 10 초에서 실행 : 여기내가 서버에서 읽어 방법이다. SQL 서버가 작 으면 내 데이터가 더 느린 속도 (예상)로 읽히지 만 내 논리에도 약 3-4 분이 소요되는 훨씬 오래 걸립니다 (예상치 못한 오류).
클러스터 크기가 변경되지 않습니다. DataFrame의 파티션 수가 변경되지 않습니다. SQL 서버의 크기 만 변경하고 있습니다.
내 스파크 작업의 논리 부분이 SQL 서버의 크기에 따라 변동하는 이유에 대한 아이디어가있는 사람이 있습니까?