You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Josh Rosen (JIRA)" <ji...@apache.org> on 2019/04/25 06:40:00 UTC

[jira] [Commented] (SPARK-23178) Kryo Unsafe problems with count distinct from cache

    [ https://issues.apache.org/jira/browse/SPARK-23178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16825783#comment-16825783 ] 

Josh Rosen commented on SPARK-23178:
------------------------------------

This might be fixed by SPARK-27216

> Kryo Unsafe problems with count distinct from cache
> ---------------------------------------------------
>
>                 Key: SPARK-23178
>                 URL: https://issues.apache.org/jira/browse/SPARK-23178
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>    Affects Versions: 2.2.0, 2.2.1
>            Reporter: KIryl Sultanau
>            Priority: Minor
>         Attachments: Unsafe-issue.png, Unsafe-off.png
>
>
> Spark incorrectly process cached data with Kryo & Unsafe options.
> Distinct count from cache doesn't work correctly. Example available below:
> {quote}val spark = SparkSession
>          .builder
>          .appName("unsafe-issue")
>          .master("local[*]")
>          .config("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
>          .config("spark.kryo.unsafe", "true")
>          .config("spark.kryo.registrationRequired", "false")
>          .getOrCreate()
>     val devicesDF = spark.read.format("csv")
>      .option("header", "true")
>      .option("delimiter", "\t")
>      .load("/data/Devices.tsv").cache()
>     val gatewaysDF = spark.read.format("csv")
>      .option("header", "true")
>      .option("delimiter", "\t")
>      .load("/data/Gateways.tsv").cache()
>     val devJoinedDF = devicesDF.join(gatewaysDF, Seq("GatewayId"), "inner").cache()
>      devJoinedDF.printSchema()
>     println(devJoinedDF.count())
>     println(devJoinedDF.select("DeviceId").distinct().count())
>     println(devJoinedDF.groupBy("DeviceId").count().filter("count>1").count())
>     println(devJoinedDF.groupBy("DeviceId").count().filter("count=1").count())
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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