2015-12-29 7 views
13

मैं पाइस्पार्क (पायथन 2.7.9/स्पार्क 1.3.1) का उपयोग कर रहा हूं और एक डेटाफ्रेम GroupObject है जिसे मुझे & को अवरोही क्रम में क्रमबद्ध करने की आवश्यकता है। कोड के इस टुकड़े के माध्यम से इसे प्राप्त करने की कोशिश कर रहा है।स्पार्क डेटाफ्रेम समूह अवरोही क्रम में क्रमबद्ध करें और क्रमबद्ध करें (pyspark)

group_by_dataframe.count().filter("`count` >= 10").sort('count', ascending=False) 

लेकिन यह निम्न त्रुटि फेंकता है।

sort() got an unexpected keyword argument 'ascending' 

उत्तर

20

PySpark में 1.3 sort विधि पैरामीटर आरोही ले नहीं करता है।

from pyspark.sql.functions import col 

(group_by_dataframe 
    .count() 
    .filter("`count` >= 10") 
    .sort(col("count").desc())) 

या desc समारोह:

from pyspark.sql.functions import desc 

(group_by_dataframe 
    .count() 
    .filter("`count` >= 10") 
    .sort(desc("count")) 

दोनों ही तरीकों से स्पार्क> = 1.3 (स्पार्क 2.x सहित) के साथ के साथ इस्तेमाल किया जा सकता है आप के बजाय desc विधि का उपयोग कर सकते हैं।

0

ऊपर की ही तरह - लेकिन प्रकार पर स्तंभ नाम (उपनाम) फिर से नामित किया गया:

from pyspark.sql.functions import desc 

df=df.count().withColumnRenamed("count", "newColName")\ 
     .filter("`count` >= 10") 
     .sort(desc("newColName")) 
df.show() 
संबंधित मुद्दे