Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Important
Deze functie bevindt zich in de bètaversie.
Gebruik de CREATE TABLE ... FLOW instructie om een beheerde tabel te maken in een pijplijn, geschreven door een of meer stromen.
Syntax
CREATE TABLE
table_name
[ table_specification ]
[ table_clauses ]
[ flow_clause ]
table_specification
( { column_identifier column_type [column_properties] } [, ...] )
table_clauses
{ PARTITIONED BY (col [, ...]) |
CLUSTER BY clause |
LOCATION path |
COMMENT table_comment |
TBLPROPERTIES clause |
WITH { ROW FILTER clause } } [ ... ]
flow_clause
FLOW INSERT [ONCE] BY NAME query
Als u meerdere bronnen in één beheerde tabel wilt weergeven, declareert u verschillende stromen die hierop zijn gericht met
CREATE FLOW flow_name AS INSERT INTO table_name BY NAME query
Parameters
table_name
De naam van de beheerde tabel die moet worden gemaakt. Als de naam niet is gekwalificeerd, wordt de tabel gemaakt in het doelschema van de pijplijn. De naam mag niet al deel uitmaken van een streamingtabel.
tabelspecificatie
Definieer eventueel de kolommen, hun typen, eigenschappen en beschrijvingen. Als u dit weglaat, wordt het schema afgeleid van de stroomquery.
GEPARTITIONEERD DOOR (kolom [, ...])
U kunt de tabel desgewenst partitioneren op basis van een subset kolommen.
CLUSTER BY clausule
U kunt eventueel liquide clustering op de tabel inschakelen. U kunt het niet combineren
PARTITIONED BYenCLUSTER BY.LOCATIEpad
Een optionele opslaglocatie voor de tabelgegevens.
OPMERKING: table_comment
Een
STRINGletterlijke beschrijving van de tabel.TBLPROPERTIES-component
U kunt desgewenst een of meer door de gebruiker gedefinieerde tabeleigenschappen instellen.
WITH-component ROW FILTER
Hiermee voegt u een rijfilterfunctie toe aan de tabel. Toekomstige query's voor die tabel ontvangen een subset van de rijen waarvoor de functie evalueert
TRUE.FLOW INSERT [EENMAAL] OP NAAMquery
Definieert een toevoegstroom die het resultaat van
queryde tabel invoegt, waarbij resultaatkolommen op naam worden gekoppeld aan tabelkolommen.querykan verwijzen naar batch- of streamingbronnen.ONCEvoert de stroom één keer uit (bijvoorbeeld voor een backfill) in plaats van bij elke update. Elke benoemde stroom verwerkt de invoer precies eenmaal per pijplijnupdate, identiek aanFLOW INSERT BY NAMEdie in een streamingtabel.
Limitations
- Beheerde tabellen bieden geen ondersteuning voor CDC-wijzigingsstromen.
AUTO CDC INTO(SQL) ofapply_changes/apply_changes_from_snapshot(Python) voor een beheerde tabel mislukt metMANAGED_TABLE_DOES_NOT_SUPPORT_CDC. Gebruik een CREATE STREAMING TABLE (pijplijnen) voor CDC-doelen. - Beheerde tabellen bieden geen ondersteuning
FLOW ... REPLACE WHEREvoor . AlleenFLOW INSERT BY NAMEwordt ondersteund. - Beheerde tabellen worden alleen ondersteund in pijplijnen met Unity Catalog. De Hive-metastore wordt niet ondersteund.
- U kunt de naam van een bestaande streamingtabel voor een beheerde tabel niet opnieuw gebruiken. Verwijder eerst de streamingtabel of de instructie mislukt met
CANNOT_SWITCH_STREAMING_TABLE_TO_MANAGED_TABLE.
Examples
-- Create a managed table populated by an append flow
CREATE TABLE output
FLOW INSERT BY NAME SELECT id FROM LIVE.source;
-- Create a partitioned managed table from a streaming source
CREATE TABLE events
PARTITIONED BY (bucket)
FLOW INSERT BY NAME
SELECT id, bucket FROM STREAM read_files('abfss://my_path', format => 'json');