<?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: New remote (dbfs) caching python library in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/new-remote-dbfs-caching-python-library/m-p/158503#M54722</link>
    <description>&lt;P&gt;Thanks for sharing this. It looks useful, especially for iterative notebook development where the expensive part is not just reading source files but recomputing a complex intermediate DataFrame after several joins or transformations.&lt;/P&gt;&lt;P&gt;I can see the value compared with normal Spark cache or Databricks disk cache: Spark cache is cluster/session dependent, while disk cache mainly accelerates reads of remote data files and does not really persist arbitrary intermediate query results as reusable DataFrames. Your approach of explicitly materializing the DataFrame to a persistent location/table could help a lot for EDA and repeated debugging loops. Databricks doc&amp;nbsp; also describes disk cache as local node caching of remote data files not as a general cache for arbitrary subquery results. &lt;A title="https://docs.databricks.com/aws/en/optimizations/disk-cache" href="https://docs.databricks.com/aws/en/optimizations/disk-cache" target="_self"&gt;https://docs.databricks.com/aws/en/optimizations/disk-cache&lt;/A&gt;&lt;/P&gt;&lt;P&gt;How does the library decide that an existing cached DataFrame is still valid? For example, if the source Delta table changes or if the notebook logic changes slightly, is the cache key based on the logical plan, user provided key, source table versions or params?&lt;/P&gt;&lt;P&gt;Since Databricks now recommends against DBFS root and DBFS mounts for most Unity Catalog-enabled workspaces, it would be good to document the recommended storage location clearly, for example UC managed tables, external locations or volumes rather than legacy DBFS root.&lt;/P&gt;</description>
    <pubDate>Sun, 07 Jun 2026 13:59:37 GMT</pubDate>
    <dc:creator>amirabedhiafi</dc:creator>
    <dc:date>2026-06-07T13:59:37Z</dc:date>
    <item>
      <title>New remote (dbfs) caching python library</title>
      <link>https://community.databricks.com/t5/data-engineering/new-remote-dbfs-caching-python-library/m-p/117671#M45543</link>
      <description>&lt;P&gt;&lt;SPAN&gt;I had some problems getting much speedup at all from spark or DB disk cache, which I think is essential when developing PySpark code iteratively in notebooks. So I developed a handy caching-library for this which has recently been open sourced, see&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/schibsted/dbfs-spark-cache" target="_blank" rel="noopener"&gt;https://github.com/schibsted/dbfs-spark-cache&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;. This adds support for remote caching through an explicit method to the pyspak DataFrame, which previousely was only supported for &lt;A href="https://www.databricks.com/blog/understanding-caching-databricks-sql-ui-result-and-disk-caches" target="_self"&gt;SQL UI cache&lt;/A&gt;&amp;nbsp;. Proper use of remote dbfs caching also seems to avoid the slow queries and poor worker utilization that you often get after complex queries with multiple joins.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I'd be interested to know if others in the Databricks community will find this useful.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 05 May 2025 07:05:49 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/new-remote-dbfs-caching-python-library/m-p/117671#M45543</guid>
      <dc:creator>nito</dc:creator>
      <dc:date>2025-05-05T07:05:49Z</dc:date>
    </item>
    <item>
      <title>Re: New remote (dbfs) caching python library</title>
      <link>https://community.databricks.com/t5/data-engineering/new-remote-dbfs-caching-python-library/m-p/158503#M54722</link>
      <description>&lt;P&gt;Thanks for sharing this. It looks useful, especially for iterative notebook development where the expensive part is not just reading source files but recomputing a complex intermediate DataFrame after several joins or transformations.&lt;/P&gt;&lt;P&gt;I can see the value compared with normal Spark cache or Databricks disk cache: Spark cache is cluster/session dependent, while disk cache mainly accelerates reads of remote data files and does not really persist arbitrary intermediate query results as reusable DataFrames. Your approach of explicitly materializing the DataFrame to a persistent location/table could help a lot for EDA and repeated debugging loops. Databricks doc&amp;nbsp; also describes disk cache as local node caching of remote data files not as a general cache for arbitrary subquery results. &lt;A title="https://docs.databricks.com/aws/en/optimizations/disk-cache" href="https://docs.databricks.com/aws/en/optimizations/disk-cache" target="_self"&gt;https://docs.databricks.com/aws/en/optimizations/disk-cache&lt;/A&gt;&lt;/P&gt;&lt;P&gt;How does the library decide that an existing cached DataFrame is still valid? For example, if the source Delta table changes or if the notebook logic changes slightly, is the cache key based on the logical plan, user provided key, source table versions or params?&lt;/P&gt;&lt;P&gt;Since Databricks now recommends against DBFS root and DBFS mounts for most Unity Catalog-enabled workspaces, it would be good to document the recommended storage location clearly, for example UC managed tables, external locations or volumes rather than legacy DBFS root.&lt;/P&gt;</description>
      <pubDate>Sun, 07 Jun 2026 13:59:37 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/new-remote-dbfs-caching-python-library/m-p/158503#M54722</guid>
      <dc:creator>amirabedhiafi</dc:creator>
      <dc:date>2026-06-07T13:59:37Z</dc:date>
    </item>
  </channel>
</rss>

