Sdílet prostřednictvím


Reverzní ETL s Lakebase

Důležité

Tato funkce je ve verzi Public Preview v následujících oblastech: westus, westus2, eastus, eastus2, centralus, southcentralus, northeurope, westeurope, australiaeast, brazilsouth, canadacentral, centralindia, southeastasia, uksouth.

Reverse ETL se službou Lakebase Provisioned umožňuje synchronizovat data z tabulek katalogu Unity do Postgres vytvořením synchronizovaných tabulek. Tato stránka popisuje, jak vytvářet a spravovat synchronizované tabulky ve službě Lakebase Provisioned.

Co je synchronizovaná tabulka?

Synchronizovaná tabulka je tabulka Postgres jen pro čtení katalogu Unity, která automaticky synchronizuje data z tabulky Katalogu Unity s vaší instancí databáze Lakebase. Synchronizace tabulky katalogu Unity do Postgres umožňuje dotazy na čtení s nízkou latencí a podporuje spojení s časem dotazu s jinými tabulkami Postgres.

Synchronizaci zpracovávají deklarativní pipeline Lakeflow Spark. Spravovaný kanál průběžně aktualizuje tabulku Postgres změnami ze zdrojové tabulky. Po vytvoření je možné synchronizované tabulky dotazovat přímo pomocí nástrojů Postgres.

Klíčové charakteristiky synchronizovaných tabulek jsou následující:

  • V Postgresu použijte režim jen pro čtení k zachování integrity dat se zdrojem.
  • Automaticky synchronizováno pomocí spravovaných Lakeflow deklarativních datových toků Spark
  • Dotazovatelné prostřednictvím standardních rozhraní PostgreSQL
  • Spravováno prostřednictvím Unity Catalog pro správu, řízení a životní cyklus.

Než začnete

  • V libovolném katalogu máte tabulku katalogu Unity.
  • CAN USE Máte oprávnění k instanci databáze.

Vytvoření synchronizované tabulky

uživatelské rozhraní

Pokud chcete synchronizovat tabulku katalogu Unity do Postgres, postupujte takto:

  1. Na bočním panelu pracovního prostoru klikněte na Katalog .

  2. Najděte a vyberte tabulku katalogu Unity, ve které chcete vytvořit synchronizovanou tabulku.

  3. Klikněte na Vytvořit>synchronizovanou tabulku.

  4. Vyberte katalog, schéma a zadejte název tabulky pro novou synchronizovanou tabulku.

    • Synchronizované tabulky je možné vytvořit také v katalogech Standard s určitou další konfigurací. Vyberte katalog Standard, schéma a zadejte název tabulky pro nově vytvořenou synchronizovanou tabulku.
  5. Vyberte instanci databáze a zadejte název databáze Postgres, ve které chcete vytvořit synchronizovanou tabulku. Pole databáze Postgres ve výchozím nastavení odkazuje na aktuálně vybraný cílový katalog. Pokud databáze Postgres pod tímto názvem neexistuje, Azure Databricks vytvoří novou databázi.

  6. Vyberte primární klíč. Primární klíč se vyžaduje , protože umožňuje efektivní přístup k řádkům pro čtení, aktualizace a odstranění.

    Důležité

    Sloupce v primárním klíči nemohou obsahovat hodnotu null v této synchronizované tabulce. Proto jsou řádky s hodnotami null ve sloupcích primárního klíče vyloučeny ze synchronizace.

  7. Pokud mají dva řádky ve zdrojové tabulce stejný primární klíč, vyberte klíč Timeseries a nakonfigurujte odstranění duplicit. Při zadání klíče Timeseries obsahuje synchronizovaná tabulka pouze řádky s nejnovější hodnotou klíče timeseries pro každý primární klíč.

  8. Vyberte režim synchronizace ze snímku, aktivovaného a průběžného režimu. Další informace o jednotlivých režimech synchronizace najdete v tématu Vysvětlení režimů synchronizace.

  9. Zvolte, jestli chcete tuto synchronizovanou tabulku vytvořit z nového nebo existujícího kanálu.

    • Pokud vytváříte nový kanál a používáte spravovaný katalog, zvolte umístění úložiště pro pracovní tabulku. Pokud používáte standardní katalog, pracovní tabulka se automaticky ukládá do katalogu.
    • Pokud používáte existující kanál, zkontrolujte, jestli nový režim synchronizace odpovídá režimu kanálu.
  10. (Volitelné) Vyberte zásady bezserverového rozpočtu. Pokud chcete vytvořit zásady bezserverového rozpočtu, přečtěte si téma Použití atributů se zásadami bezserverového rozpočtu. To vám umožní přiřazovat využití fakturace ke konkrétním zásadám využití.

    • U synchronizovaných tabulek je fakturovatelnou entitou podkladová pipeline deklarativních kanálů Lakeflow Spark. Chcete-li upravit zásady rozpočtu, upravte základní objekt kanálu. Viz Konfigurace bezserverového kanálu.
  11. Jakmile je stav synchronizované tabulkyonline, přihlaste se k instanci databáze a zadejte dotaz na nově vytvořenou tabulku. Dotazování tabulky pomocí editoru SQL, externích nástrojů nebo poznámkových bloků

Python SDK

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import SyncedDatabaseTable, SyncedTableSpec, NewPipelineSpec, SyncedTableSchedulingPolicy

# Initialize the Workspace client
w = WorkspaceClient()

# Create a synced table in a database catalog
synced_table = w.database.create_synced_database_table(
    SyncedDatabaseTable(
        name="database_catalog.schema.synced_table",  # Full three-part name
        spec=SyncedTableSpec(
            source_table_full_name="source_catalog.source_schema.source_table",
            primary_key_columns=["id"],  # Primary key columns
            scheduling_policy=SyncedTableSchedulingPolicy.TRIGGERED,  # SNAPSHOT, TRIGGERED, or CONTINUOUS
            # Optional: timeseries_key="timestamp"  # For deduplication
            new_pipeline_spec=NewPipelineSpec(
                storage_catalog="storage_catalog",
                storage_schema="storage_schema"
            )
        ),
    )
)
print(f"Created synced table: {synced_table.name}")

# Create a synced table in a standard UC catalog
synced_table = w.database.create_synced_database_table(
    SyncedDatabaseTable(
        name="standard_catalog.schema.synced_table",  # Full three-part name
        database_instance_name="my-database-instance",  # Required for standard catalogs
        logical_database_name="postgres_database",  # Required for standard catalogs
        spec=SyncedTableSpec(
            source_table_full_name="source_catalog.source_schema.source_table",
            primary_key_columns=["id"],
            scheduling_policy=SyncedTableSchedulingPolicy.CONTINUOUS,
            create_database_objects_if_missing=True,  # Create database/schema if needed
            new_pipeline_spec=NewPipelineSpec(
                storage_catalog="storage_catalog",
                storage_schema="storage_schema"
            )
        ),
    )
)
print(f"Created synced table: {synced_table.name}")

# Check the status of a synced table
synced_table_name = "database_catalog.schema.synced_table"
status = w.database.get_synced_database_table(name=synced_table_name)
print(f"Synced table status: {status.data_synchronization_status.detailed_state}")
print(f"Status message: {status.data_synchronization_status.message}")

CLI

# Create a synced table in a database catalog
databricks database create-synced-database-table  \
  --json '{
    "spec": {
      "name": "database_catalog.schema.synced_table",
      "source_table_full_name": "source_catalog.source_schema.source_table",
      "primary_key_columns": ["id"],
      "scheduling_policy": "TRIGGERED"
    },
    "new_pipeline_spec": {
      "storage_catalog": "storage_catalog",
      "storage_schema": "storage_schema"
    }
  }'

# Create a synced table in a standard UC catalog
# new_pipeline_spec, storage_catalog, and storage_schema are optional
databricks database create-synced-database-table \
  --database-instance-name "my-database-instance" \
  --logical-database-name "databricks_postgres" \
  --json '{
    "name": "standard_catalog.schema.synced_table",
    "spec": {
      "source_table_full_name": "source_catalog.source_schema.source_table",
      "primary_key_columns": ["id"],
      "scheduling_policy": "CONTINUOUS",
      "create_database_objects_if_missing": true
    }
  }'

# Check the status of a synced table
databricks database get-synced-database-table "database_catalog.schema.synced_table"

kroucení

Vytvořte synchronizovanou tabulku v katalogu databází.

export CATALOG_NAME=<Database catalog>
export SRC_TBL="source_catalog.source_schema.source_table"
export DEST_TBL="$CATALOG_NAME.some_schema.synced_table"
export PKS='["id"]'
export ST_CATALOG="storage_catalog"
export ST_SCHEMA="storage_schema"

curl -X POST https://$WORKSPACE/api/2.0/database/synced_tables \
-H "Content-Type: text/json" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--data-binary @- << EOF
{
  "name": "$DEST_TBL",
  "spec": {
    "source_table_full_name": "$SRC_TBL",
    "primary_key_columns": $PKS,
    "scheduling_policy": "TRIGGERED",
  },
  "new_pipeline_spec": {
    "storage_catalog": "$ST_CATALOG",
    "storage_schema": "$ST_SCHEMA",
  }
}
EOF

Vytvořte synchronizovanou tabulku ve standardním katalogu Unity Catalog.

export CATALOG_NAME=<Standard catalog>
export DATABASE_INSTANCE=<database instance>
export POSTGRES_DATABASE=$CATALOG_NAME
export SRC_TBL="source_catalog.source_schema.source_table"
export DEST_TBL="$CATALOG_NAME.some_schema.sync_table"
export PKS='["id"]'
export ST_CATALOG="storage_catalog"
export ST_SCHEMA="storage_schema"

curl -X POST https://$WORKSPACE/api/2.0/database/synced_tables \
-H "Content-Type: text/json" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
--data-binary @- << EOF
{
  "name": "$DEST_TBL",
  "database_instance_name": "$DATABASE_INSTANCE",
  "logical_database_name": "$POSTGRES_DATABASE",
  "spec": {
    "source_table_full_name": "$SRC_TBL",
    "primary_key_columns": $PKS,
    "scheduling_policy": "TRIGGERED",
  },
  "new_pipeline_spec": {
    "storage_catalog": "$ST_CATALOG",
    "storage_schema": "$ST_SCHEMA",
  }
}
EOF

Zkontrolujte stav synchronizované tabulky.

export SYNCEDTABLE='pg_db.silver.sbtest1_online'

curl --request GET \
  "https://e2-dogfood.staging.cloud.databricks.com/api/2.0/database/synced_tables/$SYNCEDTABLE" \
  --header "Authorization: Bearer dapi..."

Vysvětlení režimů synchronizace

Synchronizovanou tabulku je možné vytvořit pomocí jednoho z následujících režimů synchronizace, které určují, jak se data synchronizují ze zdroje do synchronizované tabulky v Postgresu:

Režim synchronizace Description Performance
Snímek Potrubí se spustí jednou, aby pořídilo snímek zdrojové tabulky a zkopírovalo jej do synchronizované tabulky. Následující běhy kanálu zkopírují veškerá zdrojová data do cílového umístění a atomicky nahradí původní data. Pipeline lze aktivovat ručně, přes API nebo podle plánu. Tento režim je 10krát efektivnější než režimy aktivace nebo průběžné synchronizace, protože znovu vytváří data od začátku. Pokud upravujete více než 10% zdrojové tabulky, zvažte použití tohoto režimu.
Aktivované Potrubí se spustí jednou, aby pořídilo snímek zdrojové tabulky a zkopírovalo jej do synchronizované tabulky. Na rozdíl od synchronizačního režimu Snapshot se při aktualizaci synchronizované tabulky načtou a aplikují pouze změny provedené od posledního spuštění kanálu. Přírůstkovou aktualizaci je možné aktivovat ručně prostřednictvím rozhraní API nebo podle plánu. Tento režim je dobrým kompromisem mezi zpožděním a náklady, protože běží na vyžádání a aplikuje pouze změny od posledního spuštění. Pokud chcete minimalizovat prodlevu, spusťte tento kanál ihned po aktualizaci zdrojové tabulky. Pokud to spustíte častěji než každých 5 minut, může být kvůli nákladům na spuštění a zastavení kanálu pokaždé dražší než režim průběžného provozu.
Nepřetržité Kanál se spustí jednou, aby pořídil snímek zdrojové tabulky a zkopíroval ho do synchronizované tabulky, pak kanál běží nepřetržitě. Následné změny zdrojové tabulky se postupně použijí na synchronizovanou tabulku v reálném čase. Není nutná žádná ruční aktualizace. Tento režim má nejnižší zpoždění, ale vyšší cena, protože nepřetržitě běží.

Poznámka:

Aby bylo možné podporovat režim aktivované nebo průběžné synchronizace, musí mít zdrojová tabulka povolený datový kanál změn. Některé zdroje (jako například Views) nepodporují změnové datové kanály, a proto je lze synchronizovat pouze v režimu snímkování.

Podporované operace

Databricks doporučuje provádět pouze následující operace v Postgres pro synchronizované tabulky, aby nedošlo k náhodnému přepsání nebo nekonzistenci dat:

  • Dotazy jen pro čtení
  • Vytváření indexů
  • Vyřazení tabulky (uvolnění místa po odebrání synchronizované tabulky z katalogu Unity)

I když tuto tabulku můžete upravit jinými způsoby, koliduje s kanálem synchronizace.

Odstranění synchronizované tabulky

Pokud chcete odstranit synchronizovanou tabulku, musíte ji odstranit z katalogu Unity a pak ji odstranit v instanci databáze. Odstranění synchronizované tabulky z katalogu Unity zruší registraci tabulky a zastaví všechny aktualizace dat. Tabulka však zůstává v podkladové databázi Postgres. Pokud chcete uvolnit místo v instanci databáze, připojte se k instanci a použijte DROP TABLE příkaz.

uživatelské rozhraní

  1. Na bočním panelu pracovního prostoru klikněte na Katalog .
  2. Najděte a vyberte synchronizovanou tabulku, kterou chcete odstranit.
  3. Klikněte na ikonu nabídky Kebab.>Odstranit.
  4. Připojte se k instanci pomocí psqleditoru SQL nebo z poznámkového bloku.
  5. Odstraňte tabulku pomocí PostgreSQL.
    DROP TABLE synced_table_database.synced_table_schema.synced_table
    

Python SDK

from databricks.sdk import WorkspaceClient

# Initialize the Workspace client
w = WorkspaceClient()

# Delete a synced table from UC
synced_table_name = "catalog.schema.synced_table"
w.database.delete_synced_database_table(name=synced_table_name)
print(f"Deleted synced table from UC: {synced_table_name}")

# To free up space in your database instance, you need to connect to the
# instance and drop the table using PostgreSQL:
#
# DROP TABLE synced_table_database.synced_table_schema.synced_table;

CLI

# Delete a synced table from UC
databricks database delete-synced-database-table "catalog.schema.synced_table"

# To free up space in your database instance, you need to connect to the
# instance and drop the table using PostgreSQL:
#
# DROP TABLE synced_table_database.synced_table_schema.synced_table;

kroucení

# Delete a synced table from UC
curl -X DELETE --header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  https://$WORKSPACE/api/2.0/database/synced_tables/$SYNCED_TABLE_NAME

# To free up space in your database instance, you need to connect to the
# instance and drop the table using PostgreSQL:
#
# DROP TABLE synced_table_database.synced_table_schema.synced_table;

Vlastnictví a oprávnění

Pokud vytvoříte novou databázi, schéma nebo tabulku Postgres, nastaví se vlastnictví Postgres následujícím způsobem:

  • Vlastnictví se přiřadí uživateli, který vytváří databázi, schéma nebo tabulku, pokud v Postgresu existuje přihlašovací jméno Azure Databricks jako role. Pokud chcete přidat roli identity Azure Databricks v Postgresu, přečtěte si téma Správa rolí Postgres.
  • Jinak je vlastnictví přiřazeno vlastníkovi nadřazeného objektu v Postgres (obvykle databricks_superuser).

Spravovat synchronizovaný přístup k tabulce

Po vytvoření synchronizované tabulky může databricks_superuser synchronizovat tabulku z Postgresu. databricks_superuserpg_read_all_data, což této roli umožňuje číst ze všech tabulek. Má také pg_write_all_data oprávnění, které této roli umožňuje zapisovat do všech tabulek. To znamená, že databricks_superuser může také zapisovat do synchronizované tabulky v Postgresu. Lakebase podporuje toto chování při psaní v případě, že potřebujete v cílové tabulce provést naléhavé změny. Databricks ale místo toho doporučuje provádět opravy ve zdrojové tabulce.

  • Tato databricks_superuser oprávnění můžete také udělit ostatním uživatelům:

    GRANT USAGE ON SCHEMA synced_table_schema TO user;
    
    GRANT SELECT ON synced_table_name TO user;
    
  • databricks_superuser může tato oprávnění odvolat:

    REVOKE USAGE ON SCHEMA synced_table_schema FROM user;
    
    REVOKE {SELECT | INSERT | UPDATE | DELETE} ON synced_table_name FROM user;
    

Spravovat synchronizované tabulkové operace

Může databricks_superuser spravovat, kteří uživatelé mají oprávnění provádět konkrétní operace v synchronizované tabulce. Podporované operace pro synchronizované tabulky jsou:

  • CREATE INDEX
  • ALTER INDEX
  • DROP INDEX
  • DROP TABLE

Všechny ostatní operace DDL jsou pro synchronizované tabulky odepřeny.

Pokud chcete udělit tato oprávnění dalším uživatelům, databricks_superuser musíte nejprve vytvořit rozšíření pro databricks_auth:

CREATE EXTENSION IF NOT EXISTS databricks_auth;

databricks_superuser Potom může přidat uživatele pro správu synchronizované tabulky:

SELECT databricks_synced_table_add_manager('"synced_table_schema"."synced_table"'::regclass, '[user]');

databricks_superuser může odebrat uživatele ze správy synchronizované tabulky.

SELECT databricks_synced_table_remove_manager('[table]', '[user]');

Mohou se zobrazit všichni manažeři:

SELECT * FROM databricks_synced_table_managers;

Mapování datových typů

Tato tabulka mapování typů definuje, jak se jednotlivé datové typy ve zdrojové tabulce Katalogu Unity mapují na cílovou synchronizační tabulku v Postgresu:

Typ zdrojového sloupce Typ sloupce Postgres
BIGINT BIGINT
BINÁRNÍ BYTEA
BOOLEOVSKÝ BOOLEAN
RANDE DATE
DECIMAL(p;s) ČÍSELNÝ
DVOJITÝ DVOJITÁ PŘESNOST
PLOUT SKUTEČNÝ
INT INTEGER
INTERVALQualifier INTERVAL
SMALLINT SMALLINT
ŘETĚZEC TEXT
ČASOVÁ ZNAČKA ČASOVÉ RAZÍTKO S ČASOVÝM PÁSMEM
TIMESTAMP_NTZ ČASOVÉ RAZÍTKO BEZ ČASOVÉHO PÁSMA
TINYINT SMALLINT
GEOGRAPHY(srid) NEPODPOROVÁNO
GEOMETRY(srid) NEPODPOROVÁNO
ARRAY < – elementType > JSONB
MAP < keyType, valueType > JSONB
STRUCT < [fieldName: fieldType [NOT NULL][COMMENT str][, ...]] > JSONB
VARIANTA JSONB
OBJEKT NEPODPOROVÁNO

Poznámka:

  • Mapování pro typy ARRAY, MAP a STRUCT bylo změněno v květnu 2025. Synchronizovat tabulky vytvořené před tím, než budou tyto typy mapovat na JSON.
  • Mapování pro TIMESTAMP bylo změněno v srpnu 2025. Synchronizovat tabulky vytvořené před tím, než se budou mapovat na ČASOVÉ RAZÍTKO BEZ ČASOVÉHO PÁSMA.

Zpracování neplatných znaků

Některé znaky, například null bajt (0x00), jsou povoleny ve sloupcích STRING, ARRAY, MAP nebo STRUCT v tabulkách Delta, ale nejsou podporovány ve sloupcích Postgres TEXT nebo JSONB. V důsledku toho může synchronizace těchto dat z Delta do Postgres vést k selhání vložení s chybami.

org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00

org.postgresql.util.PSQLException: ERROR: unsupported Unicode escape sequence DETAIL: \u0000 cannot be converted to text.
  • První chyba nastane, když se v řetězcovém sloupci nejvyšší úrovně zobrazí bajt null, který se mapuje přímo na Postgres TEXT.
  • Druhá chyba nastane, když se v řetězci vnořeném uvnitř komplexního typu (STRUCT, ARRAY, nebo MAP) objeví nulový byte, který Azure Databricks serializuje jako JSONB. Během serializace se všechny řetězce přetypují na datový typ Postgres TEXT, kde \u0000 není povolen.

Řešení:

Tento problém můžete vyřešit jedním z následujících způsobů:

  • Sanitizace řetězcových polí

    Před synchronizací s Postgresem odeberte nebo nahraďte nepodporované znaky ze všech řetězcových polí, včetně těch uvnitř složitých typů.

    Pokud chcete odebrat bajty null ze sloupce nejvyšší úrovně STRING , použijte REPLACE funkci:

    SELECT REPLACE(column_name, CAST(CHAR(0) AS STRING), '') AS cleaned_column FROM your_table;
    
  • Převod na binární (pouze pro STRING sloupce)

    Pokud je nutné zachovat nezpracovaný obsah bajtů, převeďte ovlivněné STRING sloupce na BINARY.

Omezení a důležité informace

Podporované zdrojové tabulky

V závislosti na režimu synchronizace synchronizované tabulky se podporují různé typy zdrojových tabulek:

  • V režimu snímku musí zdrojová tabulka podporovat SELECT *. Mezi příklady patří tabulky Delta, tabulky Iceberg, zobrazení, materializovaná zobrazení a další podobné typy.

  • Pro režimy aktivované nebo průběžné synchronizace musí mít zdrojová tabulka taképovolenou změnu datového kanálu .

Omezení pojmenování a identifikátorů

  • Povolené znaky: Názvy databází, schémat a tabulek postgres pro synchronizované tabulky můžou obsahovat pouze alfanumerické znaky a podtržítka ([A-Za-z0-9_]+). Spojovníky (-) a další speciální znaky nejsou podporovány.
  • Identifikátory sloupců a tabulek: Nepoužívejte velká písmena nebo speciální znaky v názvech sloupců nebo tabulek ve zdrojové tabulce Katalogu Unity. Pokud jsou tyto identifikátory zachovány, musíte je při odkazování na ně v Postgresu uvozovat.

Výkon a synchronizace

  • Rychlost synchronizace: Synchronizace dat do synchronizovaných tabulek může být pomalejší než zápis dat přímo do instance databáze s nativním klientem PostgreSQL kvůli dalšímu zpracování. Režim průběžné synchronizace aktualizuje data ze spravované tabulky Unity Catalog do synchronizované tabulky v minimálním intervalu 15 sekund.
  • Využití připojení: Každá synchronizace tabulek může používat až 16 připojení k instanci databáze, což se počítá do limitu připojení instance.
  • Idempotence rozhraní API: Synchronizovaná rozhraní API tabulek jsou idempotentní a pokud dojde k chybám, může být potřeba operace opakovat, aby se zajistilo jejich včasné dokončení.
  • Změny schématu: U synchronizovaných tabulek v režimu Triggered nebo Continuous se v synchronizované tabulce projeví pouze doplňkové změny schématu (například přidání nového sloupce) z tabulek Unity Catalog.
  • Duplicitní klíče: Pokud mají dva řádky ve zdrojové tabulce stejný primární klíč, kanál synchronizace selže, pokud nenakonfigurujete odstranění duplicitních dat pomocí klíče timeseries. Použití klíče časové řady má však negativní dopad na výkon.
  • Rychlost aktualizace: Synchronizační kanál podporuje průběžné zápisy přibližně na 1 200 řádků za sekundu na jednotku kapacity (CU) a hromadné zápisy až na 15 000 řádků za sekundu za CU.

Kapacita a limity

  • Omezení tabulek:
    • Limit 20 synchronizovaných tabulek na zdrojnou tabulku
    • Každá synchronizace tabulek může používat až 16 databázových připojení.
  • Omezení velikosti a úplná aktualizace:
    • Pokud plně aktualizujete synchronizovanou tabulku, stará verze v Postgresu se neodstraní, dokud se nová tabulka nesynchronizuje. Obě verze se během aktualizace dočasně započítávají do limitu velikosti logické databáze.
    • Jednotlivé synchronizované tabulky nemají limit, ale celkový limit velikosti logických dat ve všech tabulkách v instanci je 2 TB. Pokud ale vyžadujete aktualizace místo úplné obnovy tabulek, databricks doporučuje, aby nepřekračovala 1 TB.
    • Pokud nekomprimovaná velikost tabulky Katalogu Unity překročí limit velikosti instance databáze (2 TB), synchronizace selže. Před zápisem do instance musíte synchronizovanou tabulku v Postgresu odstranit.

Integrace katalogu

  • Duplikace katalogu: Vytvoření synchronizované tabulky ve standardním katalogu zaměřeném na databázi Postgres, která je zaregistrovaná také jako samostatný katalog databází, způsobí, že se synchronizovaná tabulka zobrazí v katalogu Unity v rámci standardního i databázového katalogu.