Načtení pracovních tabulek

Dokončeno

Jedním z nejběžnějších vzorů při načítání datového skladu je přenos dat ze zdrojových systémů do souborů v datovém jezeře, příjem dat souboru do pracovních tabulek a následné načtení dat z pracovních tabulek do tabulek dimenzí a faktů pomocí příkazů SQL. Načítání dat se obvykle provádí jako pravidelný dávkový proces, ve kterém se vkládání a aktualizace datového skladu koordinuje v pravidelných intervalech (například denně, týdně nebo měsíčně).

Vytváření pracovních tabulek

Mnoho uspořádaných skladů má standardní struktury pro přípravu databáze a může dokonce použít konkrétní schéma pro přípravu dat. Následující příklad kódu vytvoří pracovní tabulku pro data produktů, která se nakonec načtou do tabulky dimenzí:

Poznámka:

Tento příklad vytvoří pracovní tabulku ve výchozím schématu dbo . Můžete také vytvořit samostatná schémata pro pracovní tabulky s smysluplným názvem, jako je fáze , aby architekti a uživatelé porozuměli účelu schématu.

CREATE TABLE dbo.StageProduct
(
    ProductID NVARCHAR(10) NOT NULL,
    ProductName NVARCHAR(200) NOT NULL,
    ProductCategory NVARCHAR(200) NOT NULL,
    Color NVARCHAR(10),
    Size NVARCHAR(10),
    ListPrice DECIMAL NOT NULL,
    Discontinued BIT NOT NULL
)
WITH
(
    DISTRIBUTION = ROUND_ROBIN,
    CLUSTERED COLUMNSTORE INDEX
);

Použití příkazu COPY

Příkaz COPY můžete použít k načtení dat z datového jezera, jak je znázorněno v následujícím příkladu:

Poznámka:

Obecně se doporučuje načíst pracovní tabulky z důvodu vysoké propustnosti.

COPY INTO dbo.StageProduct
    (ProductID, ProductName, ...)
FROM 'https://mydatalake.../data/products*.parquet'
WITH
(
    FILE_TYPE = 'PARQUET',
    MAXERRORS = 0,
    IDENTITY_INSERT = 'OFF'
);

Tip

Další informace o příkazu COPY najdete v tématu COPY (Transact-SQL) v dokumentaci jazyka Transact-SQL.

Použití externích tabulek

V některých případech, pokud jsou data, která se mají načíst, uložená v souborech s odpovídající strukturou, může být efektivnější vytvořit externí tabulky, které odkazují na umístění souboru. Díky tomu je možné data číst přímo ze zdrojových souborů místo toho, aby byla načtena do relačního úložiště. Následující příklad ukazuje, jak vytvořit externí tabulku, která odkazuje na soubory v datovém jezeře přidružené k pracovnímu prostoru Azure Synapse Analytics:

CREATE EXTERNAL TABLE dbo.ExternalStageProduct
 (
     ProductID NVARCHAR(10) NOT NULL,
     ProductName NVARCHAR(10) NOT NULL,
 ...
 )
WITH
 (
    DATE_SOURCE = StagedFiles,
    LOCATION = 'folder_name/*.parquet',
    FILE_FORMAT = ParquetFormat
 );
GO

Tip

Další informace o používání externích tabulek najdete v tématu Použití externích tabulek se službou Synapse SQL v dokumentaci ke službě Azure Synapse Analytics.