<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic spark data frame parquet vs delta : rows Doesn't match in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/spark-data-frame-parquet-vs-delta-rows-doesn-t-match/m-p/19283#M12912</link>
    <description>&lt;P&gt;I have data written in Delta on ADLS. As I understand the delta also internal file in parquet format  but when Iread the file in different format I got different record count&lt;/P&gt;&lt;P&gt;spark.read.parquet()&lt;/P&gt;&lt;P&gt;&amp;nbsp;or&amp;nbsp;&lt;/P&gt;&lt;P&gt;spark.read.format('delta').load()&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;df = spark.read.format('delta').load("data")
df.count()
&amp;gt; 200000
&amp;nbsp;
df = spark.read.parquet("data")
df.count()
&amp;gt; 400000&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;As you can see the difference is quite big.&lt;/P&gt;&lt;P&gt;Is there something I misunderstood about delta vs parquet?&lt;/P&gt;</description>
    <pubDate>Fri, 25 Jun 2021 17:33:41 GMT</pubDate>
    <dc:creator>User16826994223</dc:creator>
    <dc:date>2021-06-25T17:33:41Z</dc:date>
    <item>
      <title>spark data frame parquet vs delta : rows Doesn't match</title>
      <link>https://community.databricks.com/t5/data-engineering/spark-data-frame-parquet-vs-delta-rows-doesn-t-match/m-p/19283#M12912</link>
      <description>&lt;P&gt;I have data written in Delta on ADLS. As I understand the delta also internal file in parquet format  but when Iread the file in different format I got different record count&lt;/P&gt;&lt;P&gt;spark.read.parquet()&lt;/P&gt;&lt;P&gt;&amp;nbsp;or&amp;nbsp;&lt;/P&gt;&lt;P&gt;spark.read.format('delta').load()&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;df = spark.read.format('delta').load("data")
df.count()
&amp;gt; 200000
&amp;nbsp;
df = spark.read.parquet("data")
df.count()
&amp;gt; 400000&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;As you can see the difference is quite big.&lt;/P&gt;&lt;P&gt;Is there something I misunderstood about delta vs parquet?&lt;/P&gt;</description>
      <pubDate>Fri, 25 Jun 2021 17:33:41 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/spark-data-frame-parquet-vs-delta-rows-doesn-t-match/m-p/19283#M12912</guid>
      <dc:creator>User16826994223</dc:creator>
      <dc:date>2021-06-25T17:33:41Z</dc:date>
    </item>
    <item>
      <title>Re: spark data frame parquet vs delta : rows Doesn't match</title>
      <link>https://community.databricks.com/t5/data-engineering/spark-data-frame-parquet-vs-delta-rows-doesn-t-match/m-p/19284#M12913</link>
      <description>&lt;P&gt;I think you have written in delta twice using overwrite  mode&lt;/P&gt;&lt;P&gt;&amp;nbsp;.But Delta is versioned data format - when you use&amp;nbsp;&lt;/P&gt;&lt;P&gt;overwrite&lt;/P&gt;&lt;P&gt;, it doesn't delete previous data, it just writes new files, and don't delete files immediately - they are just marked as deleted in the manifest file that Delta uses. And when you read from Delta, it knows which files are deleted, or not, and read only actual data. Actual deletion of the data files happens when you're performing VACUUM on Delta lake.&lt;/P&gt;&lt;P&gt;But when you read with Parquet, it doesn't have information about deleted files, so it reads everything that you have in directory, so you get twice as many rows.&lt;/P&gt;</description>
      <pubDate>Fri, 25 Jun 2021 17:34:02 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/spark-data-frame-parquet-vs-delta-rows-doesn-t-match/m-p/19284#M12913</guid>
      <dc:creator>User16826994223</dc:creator>
      <dc:date>2021-06-25T17:34:02Z</dc:date>
    </item>
  </channel>
</rss>

