/ / स्पार्क बाल्टीिंग प्रदर्शन प्रदर्शन - अपाचे-स्पार्क, स्पार्क-डेटाफ्रेम, अपाचे-स्पार्क-डेटासेट, अपाचे-स्पार्क-2.2

स्पार्क बाल्टीिंग प्रदर्शन प्रदर्शन - अपाचे-स्पार्क, स्पार्क-डेटाफ्रेम, अपाचे-स्पार्क-डेटासेट, अपाचे-स्पार्क-2.2

स्पार्क संस्करण - 2.2.1।

मैंने 64 बाल्टी के साथ एक बाल्टी वाली टेबल बनाई है, मैं एक समेकन समारोह निष्पादित कर रहा हूं select t1.ifa,count(*) from $tblName t1 where t1.date_ = "2018-01-01" group by ifa । मैं देख सकता हूं कि स्पार्क यूआई में 64 कार्य, जो20 में से केवल 4 निष्पादकों (प्रत्येक निष्पादक के पास 16 कोर) का उपयोग करें। क्या कोई तरीका है कि मैं कार्यों की संख्या को स्केल कर सकता हूं या "बाल्टी क्वेरी कैसे चलनी चाहिए (बाल्टी की संख्या के रूप में चल रहे कोर की संख्या)?

यहां निर्माण तालिका है:

sql("""CREATE TABLE level_1 (
bundle string,
date_ date,
hour SMALLINT)
USING ORC
PARTITIONED BY (date_ , hour )
CLUSTERED BY (ifa)
SORTED BY (ifa)
INTO 64 BUCKETS
LOCATION "XXX"""")

यहां प्रश्न है:

sql(s"select t1.ifa,count(*) from $tblName t1 where t1.date_ = "2018-01-01" group by ifa").show

उत्तर:

उत्तर № 1 के लिए 1

बाल्टीिंग के साथ, कार्यों की संख्या == बाल्टी की संख्या, इसलिए आपको उन कोर / कार्यों की संख्या से अवगत होना चाहिए जिन्हें आप चाहते हैं / उपयोग करना चाहते हैं और फिर इसे बाल्टी संख्या के रूप में सेट करें।