Sdílet prostřednictvím


Použití katalogu Unity se strukturovaným streamováním

Použití strukturovaného streamování s katalogem Unity ke správě zásad správného řízení dat pro přírůstkové a streamované úlohy v Azure Databricks Tento dokument popisuje podporované funkce a navrhuje osvědčené postupy pro společné používání katalogu Unity a strukturovaného streamování.

Jaké funkce strukturovaného streamování podporuje Katalog Unity?

Katalog Unity nepřidá žádné explicitní omezení pro zdroje strukturovaného streamování a jímky dostupné v Azure Databricks. Model zásad správného řízení dat katalogu Unity umožňuje streamovat data ze spravovaných a externích tabulek v katalogu Unity. Můžete také využít externí umístění spravovaná katalogem Unity pro práci s daty prostřednictvím URI úložiště objektů. Do externích tabulek můžete zapisovat pomocí názvů tabulek nebo cest k souborům. Se spravovanými tabulkami v Katalogu Unity musíte pracovat pomocí názvu tabulky.

Při zadávání cest pro kontrolní body strukturovaného streamování používejte externí umístění spravovaná katalogem Unity. Další informace o bezpečném připojení úložiště pomocí katalogu Unity najdete v tématu Připojení ke cloudovému úložišti objektů a službám pomocí služby Unity Catalog.

Podpora funkcí strukturovaného streamování se liší v závislosti na verzi Databricks Runtime, kterou používáte, a jestli používáte přiřazený nebo standardní výpočetní režim přístupu. Podrobnosti naleznete v části Omezení streamování pro katalog Unity .

Kompletní ukázku využívající strukturované streamování v katalogu Unity najdete v tématu Kurz: Spuštění kompletního analytického kanálu lakehouse.

Jaké funkce strukturovaného streamování nejsou v katalogu Unity podporované?

Seznam funkcí strukturovaného streamování, které nejsou podporovány v katalogu Unity, najdete v tématu Omezení streamování proKatalogu Unity .

čtení zobrazení katalogu Unity jako datového proudu

V prostředích Databricks Runtime 14.1 a novějších můžete provádět streamované čtení pomocí strukturovaného streamování ze zobrazení zaregistrovaných v katalogu Unity. Azure Databricks podporuje pouze streamování čtení ze zobrazení definovaných v tabulkách Delta.

Pokud chcete přečíst zobrazení se strukturovaným streamováním, zadejte identifikátor zobrazení metodě .table(), jak je znázorněno v následujícím příkladu:

df = (spark.readStream
  .table("demoView")
)

Uživatelé musí mít SELECT oprávnění k cílovému zobrazení.

Možnosti konfigurace streamovaného čtení nad zobrazeními.

Při konfiguraci streamovaného čtení na základě zobrazení jsou podporovány následující možnosti:

  • maxFilesPerTrigger
  • maxBytesPerTrigger
  • ignoreDeletes
  • skipChangeCommits
  • withEventTimeOrder
  • startingTimestamp
  • startingVersion

Čtečka streamování tyto možnosti použije u souborů a metadat definujících podkladové tabulky Delta.

Důležité

Čtení ve vztahu k zobrazením definovaným pomocí UNION ALL nepodporují možnosti withEventTimeOrder a startingVersion.

Podporované operace ve zdrojových zobrazeních

Ne všechna zobrazení podporují streamované čtení. Mezi nepodporované operace ve zdrojových zobrazeních patří agregace a řazení.

Následující seznam obsahuje popisy a ukázkové definice zobrazení podporovaných operací:

  • Projekt

    • Popis: Řídí oprávnění na úrovni sloupce.

    • Operátor: SELECT... FROM...

    • Příklad příkazu:

      CREATE VIEW project_view AS
      SELECT id, value
      FROM source_table
      
  • Filtr

    • Popis: Řídí oprávnění na úrovni řádků.

    • Operátor: WHERE...

    • Příklad příkazu:

      CREATE VIEW filter_view AS
      SELECT * FROM source_table
      WHERE value > 100
      
  • Sjednocovat vše

    • Popis: Výsledky z více tabulek

    • Operátor: UNION ALL

    • Příklad příkazu:

      CREATE VIEW union_view AS
      SELECT id, value FROM source_table1
      UNION ALL
      SELECT * FROM source_table2
      

Poznámka:

Definici zobrazení nelze upravit tak, aby se přidávaly nebo měnily tabulky odkazované v zobrazení a používaly stejný kontrolní bod streamování.

Omezení

Platí následující omezení:

  • Můžete streamovat pouze ze zobrazení zálohovaných tabulkami Delta. Zobrazení definovaná proti jiným zdrojům dat se nepodporují.

  • Chcete-li zaregistrovat zobrazení, použijte katalog Unity.

  • Následující výjimka se zobrazí, pokud streamujete ze zobrazení s nepodporovaným operátorem:

    UnsupportedOperationException: [UNEXPECTED_OPERATOR_IN_STREAMING_VIEW] Unexpected operator <operator> in the CREATE VIEW statement as a streaming source. A streaming view query must consist only of SELECT, WHERE, and UNION ALL operations.
    
  • Pokud zadáte nepodporované možnosti, zobrazí se následující výjimka:

    AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.