You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Vitaly Gerasimov (JIRA)" <ji...@apache.org> on 2016/10/06 11:49:20 UTC

[jira] [Created] (SPARK-17806) Incorrect result when work with data from parquet

Vitaly Gerasimov created SPARK-17806:
----------------------------------------

             Summary: Incorrect result when work with data from parquet
                 Key: SPARK-17806
                 URL: https://issues.apache.org/jira/browse/SPARK-17806
             Project: Spark
          Issue Type: Bug
    Affects Versions: 2.0.1, 2.0.0
            Reporter: Vitaly Gerasimov
            Priority: Critical


{code}
  import org.apache.spark.SparkConf
  import org.apache.spark.sql.SparkSession
  import org.apache.spark.sql.types.{StructField, StructType}
  import org.apache.spark.sql.types.DataTypes._

  val sc = SparkSession.builder().config(new SparkConf().setMaster("local")).getOrCreate()

  val jsonRDD = sc.sparkContext.parallelize(Seq(
    """{"a":1,"b":1,"c":1}""",
    """{"a":1,"b":1,"c":2}"""
  ))

  sc.read.schema(StructType(Seq(
    StructField("a", IntegerType),
    StructField("b", IntegerType),
    StructField("c", LongType)
  ))).json(jsonRDD).write.parquet("/tmp/test")

  val df = sc.read.load("/tmp/test")
  df.join(df, Seq("a", "b", "c"), "left_outer").show()
{code}

returns:
{code}
+---+---+---+
|  a|  b|  c|
+---+---+---+
|  1|  1|  1|
|  1|  1|  1|
|  1|  1|  2|
|  1|  1|  2|
+---+---+---+
{code}

Expected result:
{code}
+---+---+---+
|  a|  b|  c|
+---+---+---+
|  1|  1|  1|
|  1|  1|  2|
+---+---+---+
{code}

If I use this code without saving to parquet it works fine. If you change type of `c` column to `IntegerType` it also works fine.



--
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