Spark(1.5.2)中的分區計數在某些sql查詢中爆炸。Spark sql查詢導致分區計數膨脹
這可以避免嗎?
在我來說,我有三個表上,我執行下面的查詢(文本,業主,人):
sqlContext.sql(
"SELECT t.* FROM texts t JOIN ("+
"SELECT o.TextId FROM "+
"owners o JOIN ("+
"SELECT UserId FROM person WHERE LOWER(name) "+
"RLIKE '.*"+escapeRegex(filter.name)+"\\s*$'"+
") p ON (o.UserId=p.UserId) GROUP BY o.TextId"+
") o "+
"ON (t.TextId = o.TextId)")
查詢之前的分區數爲2,之後它的200使用textsDF.javaRDD().partitions().size()
獲得
嗨喬納森,你得到你在找什麼? – Srini
Jonathan,默認爲200.請檢查此鏈接http://spark.apache.org/docs/latest/sql-programming-guide.html並搜索該屬性。 – Srini
爲了避免默認值,你應該在你的代碼中設置你自己的屬性,因爲我建議降低值(到2或4)。然後你會得到較小的分區。 – Srini