2015-05-19 8 views
57

मैंने df.orderBy("col1").show(10) की कोशिश की लेकिन यह आरोही क्रम में क्रमबद्ध है। df.sort("col1").show(10) अवरोही क्रम में भी प्रकार है। मैंने स्टैक ओवरफ्लो देखा और मुझे जो जवाब मिले, वे सभी पुराने थे या referred to RDDs थे। मैं स्पार्क में देशी डेटा फ्रेम का उपयोग करना चाहता हूं।स्पार्क एसक्यूएल में अवरोही क्रम में कॉलम द्वारा क्रमबद्ध कैसे करें?

+1

उनका मतलब है "df.sort (" col1 ")। शो (10) ** आरोही ** ऑर्डर" –

उत्तर

49

यह sort विधि के लिए org.apache.spark.sql.DataFrame में बताया गया है:

df.sort($"col1", $"col2".desc) 

नोट $ और .descsort अंदर स्तंभ परिणामों को क्रमित करना के लिए।

+3

'आयात org.apache.spark.sql.functions._' में आयात करता है और' sqlContext.implicits._ आयात करें ' आपको बहुत अच्छी कार्यक्षमता भी मिलती है। –

+0

लिंक पॉइंट्स 404 – jangorecki

+4

@ वेडोम: एक वाक्यविन्यास त्रुटि दिखाता है: 'df.sort ($" टाइम 1 ", $" टाइम 2 "। डीएससीसी सिंटेक्स त्रुटि: $ प्रतीक – kaks

98

तुम भी आयात करने चिंगारी एसक्यूएल कार्यों द्वारा स्तंभ सॉर्ट कर सकते हैं

import org.apache.spark.sql.functions._ 
df.orderBy(asc("col1")) 

या

import org.apache.spark.sql.functions._ 
df.sort(desc("col1")) 

sqlContext.implicits._

import sqlContext.implicits._ 
df.orderBy($"col1".desc) 

या

का आयात
import sqlContext.implicits._ 
df.sort($"col1".desc) 
-1

df.sort ($ "columnName" .desc) .show()

संबंधित मुद्दे