<?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: Registering Delta tables from external storage GCS , S3 , Azure Blob in Databricks Unity Catalog in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154391#M54093</link>
    <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hello muaaz !&lt;/P&gt;&lt;P&gt;I don't think that's the best pattern to follow and I recommend you to avoid registering tables directly from gs://... paths and instead put the data under a UC&amp;nbsp;external location backed by a storage credential. When I check the doc, the best way is that external table paths should live inside an existing external location and it is better organizing this as one external location per schema for external table use cases.&lt;/P&gt;&lt;P&gt;Best case scenario is also to use&amp;nbsp;managed tables by default unless you specifically need in place access to existing data or direct access from non Databricks tools.&lt;/P&gt;&lt;P&gt;So try :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;CREATE TABLE catalog.schema.table&lt;BR /&gt;USING DELTA&lt;BR /&gt;LOCATION 'gs://my-bucket/external/schema_name/table_name';&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;with that location living inside a precreated UC external location such as:&lt;/P&gt;&lt;P&gt;CREATE EXTERNAL LOCATION ext_schema_name&lt;BR /&gt;URL 'gs://my-bucket/external/schema_name/'&lt;BR /&gt;WITH (STORAGE CREDENTIAL gcs_credential);&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.databricks.com/gcp/en/connect/unity-catalog/cloud-storage" target="_blank" rel="noopener"&gt;https://docs.databricks.com/gcp/en/connect/unity-catalog/cloud-storage&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 13 Apr 2026 21:32:39 GMT</pubDate>
    <dc:creator>amirabedhiafi</dc:creator>
    <dc:date>2026-04-13T21:32:39Z</dc:date>
    <item>
      <title>Registering Delta tables from external storage GCS , S3 , Azure Blob in Databricks Unity Catalog</title>
      <link>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154339#M54082</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;I am currently working on a migration project from &lt;STRONG&gt;Azure Databricks to GCP Databricks&lt;/STRONG&gt;, and I need some guidance from the community on best practices around &lt;STRONG&gt;registering external Delta tables into Unity Catalog&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;Currenlty I am doing this but need more optimized and best approach.&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;CREATE&lt;/SPAN&gt; &lt;SPAN&gt;TABLE&lt;/SPAN&gt; &lt;SPAN&gt;IF&lt;/SPAN&gt; &lt;SPAN&gt;NOT&lt;/SPAN&gt; &lt;SPAN&gt;EXISTS&lt;/SPAN&gt; &lt;SPAN&gt;catalog&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;schema&lt;/SPAN&gt;&lt;SPAN&gt;.table&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;USING&lt;/SPAN&gt; &lt;SPAN&gt;DELTA&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LOCATION&lt;/SPAN&gt; &lt;SPAN&gt;'gs://bucket/tables/UUID'&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 13 Apr 2026 14:04:24 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154339#M54082</guid>
      <dc:creator>muaaz</dc:creator>
      <dc:date>2026-04-13T14:04:24Z</dc:date>
    </item>
    <item>
      <title>Re: Registering Delta tables from external storage GCS , S3 , Azure Blob in Databricks Unity Catalog</title>
      <link>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154391#M54093</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hello muaaz !&lt;/P&gt;&lt;P&gt;I don't think that's the best pattern to follow and I recommend you to avoid registering tables directly from gs://... paths and instead put the data under a UC&amp;nbsp;external location backed by a storage credential. When I check the doc, the best way is that external table paths should live inside an existing external location and it is better organizing this as one external location per schema for external table use cases.&lt;/P&gt;&lt;P&gt;Best case scenario is also to use&amp;nbsp;managed tables by default unless you specifically need in place access to existing data or direct access from non Databricks tools.&lt;/P&gt;&lt;P&gt;So try :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;CREATE TABLE catalog.schema.table&lt;BR /&gt;USING DELTA&lt;BR /&gt;LOCATION 'gs://my-bucket/external/schema_name/table_name';&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;with that location living inside a precreated UC external location such as:&lt;/P&gt;&lt;P&gt;CREATE EXTERNAL LOCATION ext_schema_name&lt;BR /&gt;URL 'gs://my-bucket/external/schema_name/'&lt;BR /&gt;WITH (STORAGE CREDENTIAL gcs_credential);&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.databricks.com/gcp/en/connect/unity-catalog/cloud-storage" target="_blank" rel="noopener"&gt;https://docs.databricks.com/gcp/en/connect/unity-catalog/cloud-storage&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Apr 2026 21:32:39 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154391#M54093</guid>
      <dc:creator>amirabedhiafi</dc:creator>
      <dc:date>2026-04-13T21:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: Registering Delta tables from external storage GCS , S3 , Azure Blob in Databricks Unity Catalog</title>
      <link>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154401#M54096</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/226843"&gt;@muaaz&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;On GCP Databricks, the SQL pattern you are using is fine, but the recommended best practice is to back it with a Unity Catalog external location instead of pointing tables directly at arbitrary gs:// paths.&lt;/P&gt;
&lt;P&gt;In practice, that means first creating a storage credential and an external location over the relevant GCS prefix (for example, gs://bucket/tables), granting CREATE EXTERNAL TABLE on that external location, and then registering each table with CREATE TABLE catalogue.schema.table USING DELTA LOCATION 'gs://bucket/tables/UUID_or_table_path' where the path sits under that external location and is dedicated to a single table.&lt;/P&gt;
&lt;P&gt;Databricks generally recommends using Unity Catalog managed tables for long-term workloads, so a common migration pattern is to initially register existing Delta data as external tables for a fast cutover, and then, once things are stable, convert those external tables to managed tables so that Unity Catalog controls the storage location, lifecycle, and automatic optimisations going forward.&lt;/P&gt;
&lt;P class="p1"&gt;&lt;FONT size="2" color="#FF6600"&gt;&lt;STRONG&gt;&lt;I&gt;If this answer resolves your question, could you mark it as “Accept as Solution”? That helps other users quickly find the correct fix.&lt;/I&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Apr 2026 05:48:52 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154401#M54096</guid>
      <dc:creator>Ashwin_DSA</dc:creator>
      <dc:date>2026-04-14T05:48:52Z</dc:date>
    </item>
    <item>
      <title>Re: Registering Delta tables from external storage GCS , S3 , Azure Blob in Databricks Unity Catalog</title>
      <link>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154430#M54098</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/216690"&gt;@Ashwin_DSA&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for the reply.&lt;/P&gt;&lt;P&gt;The method you proposed sounds fine, but we are dealing with a very large volume of data around 3 schemas, ~50 tenants, and over 100 tables. Since this data is being migrated from Azure to GCP, we would prefer to avoid writing or managing scripts manually, especially as it may introduce additional validation overhead.&lt;/P&gt;&lt;P&gt;To give more context, the data has already been copied from Azure to GCP, and now we need to register the tables in the catalog.&lt;/P&gt;&lt;P&gt;I would really appreciate it if you could suggest an alternative approach that is more efficient, saves time, and minimizes manual involvement.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Apr 2026 09:54:56 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154430#M54098</guid>
      <dc:creator>muaaz</dc:creator>
      <dc:date>2026-04-14T09:54:56Z</dc:date>
    </item>
    <item>
      <title>Re: Registering Delta tables from external storage GCS , S3 , Azure Blob in Databricks Unity Catalog</title>
      <link>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154435#M54100</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/226843"&gt;@muaaz&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Given how much data you have and the fact that it’s already in GCS, there unfortunately isn’t a built-in "auto-discover and register all Delta tables" button in Unity Catalog. You always need some automation to translate the storage layout into table metadata.&lt;/P&gt;
&lt;P&gt;The most time and risk efficient pattern I would recommend is to standardise once on a generic registration job, and then let that job do all the work for all schemas/tenants...&lt;/P&gt;
&lt;P&gt;You define a clear directory convention on GCS (for example &lt;CODE class="p8i6j0f"&gt;gs://bucket/&amp;lt;schema&amp;gt;/&amp;lt;tenant&amp;gt;/&amp;lt;table&amp;gt;&lt;/CODE&gt;), configure a single external location over the relevant root, and run one Databricks job/notebook that walks that directory tree, detects every &lt;CODE class="p8i6j0f"&gt;_delta_log&lt;/CODE&gt;, infers the catalog/schema/table name from the path, and issues &lt;CODE class="p8i6j0f"&gt;CREATE TABLE … USING DELTA LOCATION 'gs://…'&lt;/CODE&gt; automatically for each match.&lt;/P&gt;
&lt;P&gt;That way you are not hand-writing or manually validating 100+ DDLs. Your only manual input is the base path and a small mapping (for example which UC catalog each source schema should land in), and the rest is repeatable and idempotent.&lt;/P&gt;
&lt;P&gt;As an alternative for future migrations where you want to avoid dealing with paths at all, you can keep the source on Azure as the system of record, expose those tables via Delta Sharing, and on GCP Databricks materialize them directly as managed Unity Catalog tables. That shifts the problem from "register many external Delta directories" to a controlled, table-driven replication flow without custom per-table scripts. Appreciate this may not work in all scenarios but worth considering.&lt;/P&gt;
&lt;P class="p1"&gt;&lt;FONT size="2" color="#FF6600"&gt;&lt;STRONG&gt;&lt;I&gt;If this answer resolves your question, could you mark it as “Accept as Solution”? That helps other users quickly find the correct fix.&lt;/I&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Apr 2026 10:41:46 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154435#M54100</guid>
      <dc:creator>Ashwin_DSA</dc:creator>
      <dc:date>2026-04-14T10:41:46Z</dc:date>
    </item>
    <item>
      <title>Re: Registering Delta tables from external storage GCS , S3 , Azure Blob in Databricks Unity Catalog</title>
      <link>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154437#M54101</link>
      <description>&lt;P&gt;Alright, thank you so much for your support &lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/216690"&gt;@Ashwin_DSA&lt;/a&gt;&amp;nbsp;. It was really helpful.&lt;/P&gt;&lt;P&gt;I will definitely mark it as "Accepted as Solution." I truly appreciate your valuable time.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Apr 2026 11:04:51 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/registering-delta-tables-from-external-storage-gcs-s3-azure-blob/m-p/154437#M54101</guid>
      <dc:creator>muaaz</dc:creator>
      <dc:date>2026-04-14T11:04:51Z</dc:date>
    </item>
  </channel>
</rss>

