You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Michael Armbrust (JIRA)" <ji...@apache.org> on 2015/10/27 10:51:27 UTC

[jira] [Updated] (SPARK-11303) sample (without replacement) + filter returns wrong results in DataFrame

     [ https://issues.apache.org/jira/browse/SPARK-11303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Armbrust updated SPARK-11303:
-------------------------------------
    Description: 
When sampling and then filtering DataFrame from python, we get inconsistent result when not caching the sampled DataFrame. This bug  doesn't appear in spark 1.4.1.

{code}
d = sqlContext.createDataFrame(sc.parallelize([[1]] * 50 + [[2]] * 50),['t'])
d_sampled = d.sample(False, 0.1, 1)
print d_sampled.count()
print d_sampled.filter('t = 1').count()
print d_sampled.filter('t != 1').count()
d_sampled.cache()
print d_sampled.count()
print d_sampled.filter('t = 1').count()
print d_sampled.filter('t != 1').count()
{code}

output:
{code}
14
7
8
14
7
7
{code}

  was:
When sampling and then filtering DataFrame from python, we get inconsistent result when not caching the sampled DataFrame. This bug  doesn't appear in spark 1.4.1.

d = sqlContext.createDataFrame(sc.parallelize([[1]] * 50 + [[2]] * 50),['t'])
d_sampled = d.sample(False, 0.1, 1)
print d_sampled.count()
print d_sampled.filter('t = 1').count()
print d_sampled.filter('t != 1').count()
d_sampled.cache()
print d_sampled.count()
print d_sampled.filter('t = 1').count()
print d_sampled.filter('t != 1').count()

output:
14
7
8
14
7
7

Thanks!


> sample (without replacement) + filter returns wrong results in DataFrame
> ------------------------------------------------------------------------
>
>                 Key: SPARK-11303
>                 URL: https://issues.apache.org/jira/browse/SPARK-11303
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 1.5.1
>         Environment: pyspark local mode, linux.
>            Reporter: Yuval Tanny
>
> When sampling and then filtering DataFrame from python, we get inconsistent result when not caching the sampled DataFrame. This bug  doesn't appear in spark 1.4.1.
> {code}
> d = sqlContext.createDataFrame(sc.parallelize([[1]] * 50 + [[2]] * 50),['t'])
> d_sampled = d.sample(False, 0.1, 1)
> print d_sampled.count()
> print d_sampled.filter('t = 1').count()
> print d_sampled.filter('t != 1').count()
> d_sampled.cache()
> print d_sampled.count()
> print d_sampled.filter('t = 1').count()
> print d_sampled.filter('t != 1').count()
> {code}
> output:
> {code}
> 14
> 7
> 8
> 14
> 7
> 7
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org