Příjem dat do skladu

Platí pro: Warehouse v Microsoft Fabric

Sklad v Microsoft Fabric nabízí integrované nástroje pro příjem dat, které uživatelům umožňují ingestovat data do skladů ve velkém měřítku pomocí prostředí bez kódu nebo s bohatým kódem.

Možnosti příjmu dat

Data můžete ingestovat do skladu pomocí jedné z následujících možností:

  • COPY (Transact-SQL):: Příkaz COPY nabízí flexibilní příjem dat s vysokou propustností z externího účtu úložiště Azure. Příkaz COPY můžete použít jako součást existující logiky ETL/ELT v kódu Transact-SQL.
  • Datové kanály: Kanály nabízejí prostředí bez kódu nebo prostředí s nízkým kódem pro příjem dat. Pomocí kanálů můžete orchestrovat robustní pracovní postupy pro úplné prostředí extrakce, transformace, načítání (ETL), které zahrnuje aktivity, které pomáhají připravit cílové prostředí, spouštět vlastní příkazy Jazyka Transact-SQL, provádět vyhledávání nebo kopírovat data ze zdroje do cíle.
  • Toky dat: alternativa ke kanálům, toky dat umožňují snadnou přípravu, čištění a transformaci dat pomocí prostředí bez kódu.
  • Příjem dat mezi sklady: Příjem dat ze zdrojů pracovních prostorů je také možný. Tento scénář může být nutný, pokud je potřeba vytvořit novou tabulku s podmnožinou jiné tabulky nebo v důsledku spojení různých tabulek ve skladu a v jezeře. Pro příjem dat mezi sklady kromě zmíněných možností funkce Transact-SQL, jako je INSERT... VÝBĚR, SELECT INTO nebo CREATE TABLE AS SELECT (CTAS) fungují napříč sklady ve stejném pracovním prostoru.

Rozhodněte se, který nástroj pro příjem dat se má použít.

Pokud chcete rozhodnout, kterou možnost příjmu dat použít, můžete použít následující kritéria:

  • Použijte příkaz COPY (Transact-SQL) pro operace příjmu dat s bohatým kódem, pro nejvyšší možnou propustnost příjmu dat nebo pokud potřebujete přidat příjem dat jako součást logiky Transact-SQL. Syntaxi najdete v tématu COPY INTO (Transact-SQL).
  • Datové kanály můžete používat pro bezkódové nebo nízkokódové, robustní pracovní postupy příjmu dat, které se spouštějí opakovaně, podle plánu nebo zahrnují velké objemy dat. Další informace najdete v tématu Ingestování dat pomocí datových kanálů.
  • Toky dat můžete použít pro prostředí bez kódu, které umožňuje vlastním transformacím zdrojová data před jejich ingestací. Tyto transformace zahrnují (ale nejsou omezené na) změny datových typů, přidávání nebo odebírání sloupců nebo použití funkcí k vytváření počítaných sloupců. Další informace najdete v tématu Toky dat.
  • K vytváření nových tabulek se zdrojovými daty ve stejném pracovním prostoru použijte příjem dat napříč sklady pro prostředí s kódem. Další informace najdete v tématu Ingestování dat pomocí jazyka Transact-SQL a zápis dotazu mezi databázemi.

Poznámka:

Příkaz COPY ve skladu podporuje pouze zdroje dat v účtech úložiště Azure s ověřováním pomocí sdíleného přístupového podpisu (SAS), klíče účtu úložiště (SAK) nebo účtů s veřejným přístupem. Další omezení najdete v tématu COPY (Transact-SQL).

Podporované formáty a zdroje dat

Příjem dat pro sklad v Microsoft Fabric nabízí velký počet formátů dat a zdrojů, které můžete použít. Každá z uvedených možností obsahuje vlastní seznam podporovaných typů datových konektorů a datových formátů.

Pro příjem dat mezi sklady musí být zdroje dat ve stejném pracovním prostoru Microsoft Fabric. Dotazy je možné provádět pomocí třídílných názvů zdrojových dat.

Předpokládejme například, že v pracovním prostoru jsou dva sklady s názvem Inventory a Sales. Dotaz, například následující, vytvoří novou tabulku v skladovém skladu inventáře s obsahem tabulky v skladovém skladu, která je spojená s tabulkou v prodejním skladu:

CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT s.SalesOrders, i.ProductName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
WHERE s.ProductID = i.ProductID
    AND s.Region = 'West region'

Příkaz COPY (Transact-SQL) v současné době podporuje formáty souborů PARQUET a CSV. Pro zdroje dat se aktuálně podporuje Azure Data Lake Storage (ADLS) Gen2 a Azure Blob Storage.

Datové kanály a toky dat podporují širokou škálu zdrojů dat a formátů dat. Další informace najdete v tématu Datové kanály a toky dat.

Osvědčené postupy

Funkce příkazu COPY ve službě Warehouse v Microsoft Fabric používá jednoduché, flexibilní a rychlé rozhraní pro příjem dat s vysokou propustností pro úlohy SQL. V aktuální verzi podporujeme načítání dat jenom z externích účtů úložiště.

TSQL můžete také použít k vytvoření nové tabulky a následné vložení do ní a následné aktualizaci a odstranění řádků dat. Data lze vložit z libovolné databáze v pracovním prostoru Microsoft Fabric pomocí dotazů mezi databázemi. Pokud chcete ingestovat data z Lakehouse do skladu, můžete to udělat pomocí dotazu mezi databázemi. Příklad:

INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
  • Vyhněte se ingestování dat pomocí příkazů INSERT singleton, protože to způsobuje nízký výkon dotazů a aktualizací. Pokud byly příkazy INSERT singleton použity pro příjem dat po sobě, doporučujeme vytvořit novou tabulku pomocí příkazu CREATE TABLE AS SELECT (CTAS) nebo INSERT... Vzory SELECT, vyřazení původní tabulky a následné vytvoření tabulky z tabulky, kterou jste vytvořili pomocí příkazu CREATE TABLE AS SELECT (CTAS)
    • Vyřazení existující tabulky má vliv na sémantický model, včetně jakýchkoli vlastních měr nebo přizpůsobení, které jste v sémantickém modelu provedli.
  • Při práci s externími daty u souborů doporučujeme, aby soubory byly aspoň 4 MB.
  • U velkých komprimovaných souborů CSV zvažte rozdělení souboru do více souborů.
  • Azure Data Lake Storage (ADLS) Gen2 nabízí lepší výkon než Azure Blob Storage (starší verze). Pokud je to možné, zvažte použití účtu ADLS Gen2.
  • U kanálů, které běží často, zvažte izolování účtu úložiště Azure od jiných služeb, které by mohly přistupovat ke stejným souborům najednou.
  • Explicitní transakce umožňují seskupit několik změn dat, aby byly viditelné pouze při čtení jedné nebo více tabulek, když je transakce plně potvrzena. Máte také možnost vrátit transakci zpět, pokud některé změny selžou.
  • Pokud je funkce SELECT v rámci transakce a byla před vloženými daty, může být automaticky vygenerovaná statistika po vrácení zpět nepřesná. Nepřesné statistiky můžou vést k neoptimalizovaným plánům dotazů a časům provádění. Pokud vrátíte transakci se SELECTs po velkém INSERT, aktualizujte statistiky pro sloupce uvedené v select.

Poznámka:

Bez ohledu na to, jak ingestujete data do skladů, budou soubory parquet vytvořené úlohou příjmu dat optimalizované pomocí optimalizace zápisu V-Order. V-Order optimalizuje soubory parquet tak, aby umožňovala bleskově rychlé čtení v rámci výpočetních modulů Microsoft Fabric, jako jsou Power BI, SQL, Spark a další. Dotazy na sklad obecně využívají rychlejší dobu čtení dotazů s touto optimalizací a stále zajišťují, že soubory Parquet jsou 100% kompatibilní s opensourcovou specifikací. Na rozdíl od služby Fabric Datoví technici ing je V-Order globální nastavení ve službě Synapse Data Warehouse, které nelze zakázat.