2016-08-10 6 views
7

एक साथ चयन करने में क्या अंतर है जहां खंड और स्पार्क में छानने? वहाँ किसी भी उपयोग के मामलों में जो एक दूसरे की तुलना में अधिक उचित है क्या? जब मैंस्पार्क - कहां या छानने का चयन करें?

DataFrame newdf = df.select(df.col("*")).where(df.col("somecol").leq(10)) 

प्रयोग करते हैं और जब

DataFrame newdf = df.select(df.col("*")).filter("somecol <= 10") 

अधिक उपयुक्त है?

उत्तर

8

चिंगारी प्रलेखन के अनुसार, "जहां() फिल्टर के लिए एक उपनाम है()"

http://spark.apache.org/docs/2.0.0/api/python/pyspark.sql.html

फिल्टर (हालत) फिल्टर पंक्तियों किसी स्थिति का उपयोग कर। जहां() फिल्टर के लिए एक उपनाम है()।

पैरामीटर: हालत - types.BooleanType के एक स्तंभ या SQL अभिव्यक्ति की एक स्ट्रिंग।

>>> df.filter(df.age > 3).collect() 
[Row(age=5, name=u'Bob')] 
>>> df.where(df.age == 2).collect() 
[Row(age=2, name=u'Alice')] 

>>> df.filter("age > 3").collect() 
[Row(age=5, name=u'Bob')] 
>>> df.where("age = 2").collect() 
[Row(age=2, name=u'Alice')] 
संबंधित मुद्दे