我在試驗Spark與多集羣是否可以改善慢SQL查詢。我爲master創建了兩名工作人員,他們使用本地Spark Standalone運行。是的,我將內存和內核數量減半以在本地機器上創建工作人員。我使用partitionColumn
,lowerBound
,UpperBound
和numberPartitions
指定分區爲sqlContext
,以便任務(或分區)可以分佈在工作者上。我把它們描述如下(partitionColumn
是唯一的):使用Spark Multi Clusters改進SQL查詢
df = sqlContext.read.format("jdbc").options(
url = "jdbc:sqlserver://localhost;databasename=AdventureWorks2014;integratedSecurity=true;",
driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver",
dbtable = query,
partitionColumn = "RowId",
lowerBound = 1,
upperBound = 10000000,
numPartitions = 4).load()
我跑我在主腳本指定選項之後,但我不能讓沒有羣集上運行的火花時,對任何性能改進。我知道我應該沒有減少實驗完整性的記憶。但是我想知道,如果情況不是這樣的話,或者任何原因,情況可能如此。任何想法都歡迎。非常感謝。
性能優勢通常發生在規模上,而不是在本地機器上進行試驗。 – mtoto