<?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 Re: Best practices for optimizing Spark jobs in Get Started Discussions</title>
    <link>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/139859#M11043</link>
    <description>&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;Optimizing Spark jobs is all about using smart data strategies like minimizing shuffles, tuning partitions, caching only what truly matters, and choosing the right file format to keep workloads efficient and cost-effective, and it reminds me of how planning ahead works just like checking the &lt;A href="http://wetherspoonmenuprices.co.uk/children/" target="_self"&gt;Wetherspoons kids menu&lt;/A&gt; before ordering so everything runs smoother, faster, and without unnecessary delays.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Thu, 20 Nov 2025 23:33:47 GMT</pubDate>
    <dc:creator>Nohashah</dc:creator>
    <dc:date>2025-11-20T23:33:47Z</dc:date>
    <item>
      <title>Best practices for optimizing Spark jobs</title>
      <link>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/92387#M4372</link>
      <description>&lt;P&gt;What are some best practices for optimizing Spark jobs in Databricks, especially when dealing large datasets? Any tips or resources would be greatly appreciated! I’m trying to analyze data on &lt;A href="https://ambermenu.com.ph/" target="_blank" rel="noopener"&gt;restaurant menu prices&lt;/A&gt; so that insights would be especially helpful!&lt;/P&gt;</description>
      <pubDate>Tue, 01 Oct 2024 06:46:50 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/92387#M4372</guid>
      <dc:creator>chris0991</dc:creator>
      <dc:date>2024-10-01T06:46:50Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for optimizing Spark jobs</title>
      <link>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/92417#M4374</link>
      <description>&lt;P&gt;There are so many.&lt;BR /&gt;Here are a few:&lt;BR /&gt;- look for data skew&lt;BR /&gt;- shuffle as less as possible&lt;BR /&gt;- avoid many small files&lt;BR /&gt;- use spark and not only pure python&lt;BR /&gt;- if using an autoscale cluster: check if you don't lose a lot of time scaling up/down&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Oct 2024 10:12:07 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/92417#M4374</guid>
      <dc:creator>-werners-</dc:creator>
      <dc:date>2024-10-01T10:12:07Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for optimizing Spark jobs</title>
      <link>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/125258#M10371</link>
      <description>&lt;P&gt;Good one&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/175186"&gt;@john34567&lt;/a&gt;&amp;nbsp;, made me chuckle but still this is a spam &lt;span class="lia-unicode-emoji" title=":grinning_face_with_smiling_eyes:"&gt;😄&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jul 2025 09:12:13 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/125258#M10371</guid>
      <dc:creator>szymon_dybczak</dc:creator>
      <dc:date>2025-07-15T09:12:13Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for optimizing Spark jobs</title>
      <link>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/139859#M11043</link>
      <description>&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;Optimizing Spark jobs is all about using smart data strategies like minimizing shuffles, tuning partitions, caching only what truly matters, and choosing the right file format to keep workloads efficient and cost-effective, and it reminds me of how planning ahead works just like checking the &lt;A href="http://wetherspoonmenuprices.co.uk/children/" target="_self"&gt;Wetherspoons kids menu&lt;/A&gt; before ordering so everything runs smoother, faster, and without unnecessary delays.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 20 Nov 2025 23:33:47 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/139859#M11043</guid>
      <dc:creator>Nohashah</dc:creator>
      <dc:date>2025-11-20T23:33:47Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for optimizing Spark jobs</title>
      <link>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/139892#M11046</link>
      <description>&lt;P&gt;In addition to above cool comments, try to use clusters with VMs enabled for &lt;A href="https://docs.databricks.com/aws/en/optimizations/disk-cache" target="_self"&gt;disk caching&lt;/A&gt; as well. This caches data at parquet files level in VM local storage, acting as a great complement to spark caching.&lt;/P&gt;</description>
      <pubDate>Fri, 21 Nov 2025 08:56:15 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/139892#M11046</guid>
      <dc:creator>Coffee77</dc:creator>
      <dc:date>2025-11-21T08:56:15Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for optimizing Spark jobs</title>
      <link>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/175749#M12545</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Thanks for sharing these tips! Minimizing data shuffles, handling data skew, and avoiding too many small files are especially useful when working with large datasets. I'm also interested in how data analysis can help compare restaurant menu prices and understand food trends. I work on a South African menu information website, which you can explore here: &lt;A href="https://pedrosmenus.co.za/" target="_blank"&gt;https://pedrosmenus.co.za/&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Nov 2026 04:18:32 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/175749#M12545</guid>
      <dc:creator>siphodlamini11</dc:creator>
      <dc:date>2026-11-06T04:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: Best practices for optimizing Spark jobs</title>
      <link>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/175810#M12546</link>
      <description>&lt;P&gt;Answer to this overall depends on your design and data model, some good practices can be followed but you might have to determine what best fits your design. Quick tips -&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;File Format &amp;amp; Sizing:&lt;/SPAN&gt;&lt;SPAN&gt; Use columnar formats (&lt;/SPAN&gt;&lt;SPAN&gt;Parquet/ORC&lt;/SPAN&gt;&lt;SPAN&gt;) with zstd or snappy compression. Keep target file sizes between &lt;/SPAN&gt;&lt;SPAN&gt;128 MB and 512 MB&lt;/SPAN&gt;&lt;SPAN&gt; to eliminate small file overhead.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Partitioning &amp;amp; Pruning:&lt;/SPAN&gt;&lt;SPAN&gt; Partition only on low-cardinality, frequently filtered columns (e.g., &lt;/SPAN&gt;&lt;SPAN&gt;date&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;region&lt;/SPAN&gt;&lt;SPAN&gt;). Avoid over-partitioning.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Pre-bucketing:&lt;/SPAN&gt;&lt;SPAN&gt; Pre-bucket recurrent large join keys (&lt;/SPAN&gt;&lt;SPAN&gt;bucketBy&lt;/SPAN&gt;&lt;SPAN&gt;) to eliminate costly runtime shuffles.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Join Strategies:&lt;/SPAN&gt;&lt;SPAN&gt; Apply early column projections (&lt;/SPAN&gt;&lt;SPAN&gt;select&lt;/SPAN&gt;&lt;SPAN&gt;) and row filters. Use &lt;/SPAN&gt;&lt;SPAN&gt;Broadcast Hash Joins&lt;/SPAN&gt;&lt;SPAN&gt; for small dimension tables. Handle data skew via salting or Adaptive Query Execution.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;Executor Sizing:&lt;/SPAN&gt;&lt;SPAN&gt; Allocate &lt;/SPAN&gt;&lt;SPAN&gt;3 to 5 cores per executor&lt;/SPAN&gt;&lt;SPAN&gt; to balance multi-threading efficiency, I/O throughput, and JVM garbage collection overhead.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Memory Headroom:&lt;/SPAN&gt;&lt;SPAN&gt; Set &lt;/SPAN&gt;&lt;SPAN&gt;spark.executor.memoryOverhead&lt;/SPAN&gt;&lt;SPAN&gt; to10-15% of executor memory to prevent off-heap OOMs (critical for Python UDFs and shuffle buffers).&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Execution Engine:&lt;/SPAN&gt;&lt;SPAN&gt; Enable &lt;/SPAN&gt;&lt;SPAN&gt;AQE&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;/SPAN&gt;&lt;SPAN&gt;spark.sql.adaptive.enabled=true&lt;/SPAN&gt;&lt;SPAN&gt;) for dynamic partition coalescing and runtime join conversions.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/123983"&gt;@chris0991&lt;/a&gt;&amp;nbsp;What exactly are you looking for -&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Performance&lt;/STRONG&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; Is your bottleneck driven by &lt;/SPAN&gt;&lt;SPAN&gt;data skew&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;shuffle spill to disk&lt;/SPAN&gt;&lt;SPAN&gt;, or &lt;/SPAN&gt;&lt;SPAN&gt;JVM garbage collection&lt;/SPAN&gt;&lt;SPAN&gt; pauses?&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;&lt;STRONG&gt;Cost&lt;/STRONG&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; Are you aiming to reduce cloud spend via &lt;/SPAN&gt;&lt;SPAN&gt;Spot instances&lt;/SPAN&gt;&lt;SPAN&gt;, dynamic cluster scaling, or minimizing cross data egress?&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Fri, 06 Nov 2026 16:38:32 GMT</pubDate>
      <guid>https://community.databricks.com/t5/get-started-discussions/best-practices-for-optimizing-spark-jobs/m-p/175810#M12546</guid>
      <dc:creator>Harshad_B</dc:creator>
      <dc:date>2026-11-06T16:38:32Z</dc:date>
    </item>
  </channel>
</rss>

