2015-10-23 4 views
8

स्पार्क कम करने वाले कार्यों की संख्या की गणना करने के लिए किस सूत्र का उपयोग करता है?संख्याओं को कम करें स्पार्क

मैं कुछ स्पार्क-एसक्यूएल प्रश्नों को चला रहा हूं और कम कार्यों की संख्या हमेशा 200 है। इन प्रश्नों के लिए मानचित्र कार्यों की संख्या 154 है। मैं स्पार्क 1.4.1 पर हूं।

spark.shuffle.sort.bypassMergeThreshold को यह संबंधित, 200

उत्तर

15

को जो चूक है यह spark.sql.shuffle.partitions है कि आप के बाद कर रहे हैं। Spark SQL programming guide के अनुसार:

spark.sql.shuffle.partitions 200  Configures the number of partitions to use when shuffling data for joins or aggregations. 

एक अन्य विकल्प है कि संबंधित है spark.default.parallelism है, जो 'में शामिल होने, reduceByKey तरह परिवर्तनों द्वारा दिया RDDs में विभाजन की डिफ़ॉल्ट संख्या, और parallelize जब उपयोगकर्ता द्वारा सेट नहीं' निर्धारित करता है, लेकिन इस लगता है स्पार्क एसक्यूएल द्वारा अनदेखा किया जाना चाहिए और सादे आरडीडी पर काम करते समय केवल प्रासंगिक होना चाहिए।

1

हां, @ एसवीजीडी, यह सही पैरामीटर है। यहां बताया गया है कि आप इसे स्कैला में कैसे रीसेट करते हैं:

// Set number of shuffle partitions to 3 
sqlContext.setConf("spark.sql.shuffle.partitions", "3") 
// Verify the setting 
sqlContext.getConf("spark.sql.shuffle.partitions") 
संबंधित मुद्दे