Kopírování a transformace dat ve službě Microsoft Fabric Warehouse pomocí služby Azure Data Factory nebo Azure Synapse Analytics
PLATÍ PRO: Azure Data Factory Azure Synapse Analytics
Tip
Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.
Tento článek popisuje, jak pomocí aktivity kopírování kopírovat data z a do Microsoft Fabric Warehouse. Další informace najdete v úvodním článku pro Azure Data Factory nebo Azure Synapse Analytics.
Podporované funkce
Tento konektor Microsoft Fabric Warehouse je podporovaný pro následující funkce:
Podporované funkce | IR | Spravovaný privátní koncový bod |
---|---|---|
aktivita Copy (zdroj/jímka) | (1) (2) | ✓ |
Mapování toku dat (zdroj/jímka) | (1) | ✓ |
Aktivita Lookup | (1) (2) | ✓ |
Aktivita GetMetadata | (1) (2) | ✓ |
Aktivita skriptu | (1) (2) | ✓ |
Aktivita uložená procedura | (1) (2) | ✓ |
(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime
Začínáme
K provedení aktivita Copy s kanálem můžete použít jeden z následujících nástrojů nebo sad SDK:
- Nástroj pro kopírování dat
- Azure Portal
- Sada .NET SDK
- Sada Python SDK
- Azure PowerShell
- Rozhraní REST API
- Šablona Azure Resource Manageru
Vytvoření propojené služby Microsoft Fabric Warehouse pomocí uživatelského rozhraní
Pomocí následujících kroků vytvořte propojenou službu Microsoft Fabric Warehouse v uživatelském rozhraní webu Azure Portal.
Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak vyberte Nový:
Vyhledejte Sklad a vyberte konektor.
Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.
Podrobnosti konfigurace konektoru
Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit služby Data Factory specifických pro Microsoft Fabric Warehouse.
Vlastnosti propojené služby
Konektor Microsoft Fabric Warehouse podporuje následující typy ověřování. Podrobnosti najdete v odpovídajících částech:
Ověřování instančního objektu
Pokud chcete použít ověřování instančního objektu, postupujte takto.
Zaregistrujte aplikaci na platformě Microsoft Identity Platform a přidejte tajný klíč klienta. Potom si poznamenejte tyto hodnoty, které použijete k definování propojené služby:
- ID aplikace (klienta), což je ID instančního objektu v propojené službě.
- Hodnota tajného klíče klienta, což je instanční klíč v propojené službě.
- ID tenanta
Udělte instančnímu objektu alespoň roli Přispěvatel v pracovním prostoru Microsoft Fabric. Postupujte následovně:
Přejděte do pracovního prostoru Microsoft Fabric a na horním panelu vyberte Spravovat přístup . Pak vyberte Přidat lidi nebo skupiny.
V podokně Přidat lidi zadejte název instančního objektu a v rozevíracím seznamu vyberte instanční objekt.
Zadejte roli přispěvatele nebo vyšší (správce, člen) a pak vyberte Přidat.
Instanční objekt se zobrazí v podokně Správa přístupu .
Propojená služba podporuje tyto vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu musí být nastavena na Sklad. | Ano |
endpoint | Koncový bod serveru Microsoft Fabric Warehouse. | Ano |
workspaceId | ID pracovního prostoru Microsoft Fabric. | Ano |
artifactId | ID objektu Microsoft Fabric Warehouse. | Ano |
klient | Zadejte informace o tenantovi (název domény nebo ID tenanta), pod kterým se vaše aplikace nachází. Načtěte ho tak, že nainstalujete myš v pravém horním rohu webu Azure Portal. | Ano |
servicePrincipalId | Zadejte ID klienta aplikace. | Ano |
servicePrincipalCredentialType | Typ přihlašovacích údajů, který se má použít pro ověřování instančního objektu. Povolené hodnoty jsou ServicePrincipalKey a ServicePrincipalCert. | Ano |
servicePrincipalCredential | Přihlašovací údaje instančního objektu. Pokud jako typ přihlašovacích údajů použijete ServicePrincipalKey , zadejte hodnotu tajného klíče klienta aplikace. Označte toto pole jako SecureString , abyste ho mohli bezpečně uložit, nebo odkazovat na tajný kód uložený ve službě Azure Key Vault. Pokud jako přihlašovací údaje použijete ServicePrincipalCert , odkazujte na certifikát ve službě Azure Key Vault a ujistěte se, že typ obsahu certifikátu je PKCS #12. |
Ano |
connectVia | Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Pokud je vaše úložiště dat v privátní síti, můžete použít prostředí Azure Integration Runtime nebo místní prostředí Integration Runtime. Pokud není zadaný, použije se výchozí prostředí Azure Integration Runtime. | No |
Příklad: Použití ověřování pomocí instančního klíče
Ve službě Azure Key Vault můžete také uložit instanční klíč.
{
"name": "MicrosoftFabricWarehouseLinkedService",
"properties": {
"type": "Warehouse",
"typeProperties": {
"endpoint": "<Microsoft Fabric Warehouse server endpoint>",
"workspaceId": "<Microsoft Fabric workspace ID>",
"artifactId": "<Microsoft Fabric Warehouse object ID>",
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalCredential": {
"type": "SecureString",
"value": "<service principal key>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Vlastnosti datové sady
Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku Datové sady .
Datové sady Microsoft Fabric Warehouse podporují následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu datové sady musí být nastavená na WarehouseTable. | Ano |
schema | Název schématu | Ne pro zdroj, Ano pro jímku |
table | Název tabulky nebo zobrazení | Ne pro zdroj, Ano pro jímku |
Příklad vlastností datové sady
{
"name": "FabricWarehouseTableDataset",
"properties": {
"type": "WarehouseTable",
"linkedServiceName": {
"referenceName": "<Microsoft Fabric Warehouse linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, retrievable during authoring >
],
"typeProperties": {
"schema": "<schema_name>",
"table": "<table_name>"
}
}
}
Vlastnosti aktivity kopírování
Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v tématu aktivita Copy konfigurace a kanály a aktivity. Tato část obsahuje seznam vlastností podporovaných zdrojem a jímkou Microsoft Fabric Warehouse.
Microsoft Fabric Warehouse jako zdroj
Tip
Pokud chcete efektivně načítat data z Microsoft Fabric Warehouse pomocí dělení dat, přečtěte si další informace z paralelní kopie z Microsoft Fabric Warehouse.
Pokud chcete kopírovat data z Microsoft Fabric Warehouse, nastavte vlastnost typu ve zdroji aktivity kopírování na WarehouseSource. Ve zdroji aktivity kopírování jsou podporovány následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu zdroje aktivity kopírování musí být nastavena na WarehouseSource. | Ano |
sqlReaderQuery | Ke čtení dat použijte vlastní dotaz SQL. Příklad: select * from MyTable . |
No |
sqlReaderStoredProcedureName | Název uložené procedury, která čte data ze zdrojové tabulky. Poslední příkaz SQL musí být příkaz SELECT v uložené proceduře. | No |
storedProcedureParameters | Parametry uložené procedury. Povolené hodnoty jsou dvojice názvů nebo hodnot. Názvy a velikost písmen parametrů musí odpovídat názvům a velikostem písmen parametrů uložené procedury. |
No |
queryTimeout | Určuje časový limit spuštění příkazu dotazu. Výchozí hodnota je 120 minut. | No |
isolationLevel | Určuje chování uzamčení transakce pro zdroj SQL. Povolená hodnota je Snapshot. Pokud není zadáno, použije se výchozí úroveň izolace databáze. Další informace naleznete v tématu system.data.isolationlevel. | No |
partitionOptions | Určuje možnosti dělení dat, které se používají k načtení dat z Microsoft Fabric Warehouse. Povolené hodnoty jsou: None (výchozí) a DynamicRange. Pokud je povolená možnost oddílu (tj. ne None ), je stupeň paralelismu souběžného načítání dat z Microsoft Fabric Warehouse řízen parallelCopies nastavením aktivity kopírování. |
No |
partitionSettings | Zadejte skupinu nastavení pro dělení dat. Použít, pokud možnost oddílu není None . |
No |
V části partitionSettings : |
||
partitionColumnName | Zadejte název zdrojového sloupce v celočíselném čísle nebo typu date/datetime (int , smallint , date bigint , ), datetime2 který bude použit dělením rozsahu pro paralelní kopírování. Pokud není zadaný, index nebo primární klíč tabulky se automaticky zjistí a použije se jako sloupec oddílu.Použít, pokud je DynamicRange možnost oddílu . Pokud k načtení zdrojových dat použijete dotaz, připojte se ?DfDynamicRangePartitionCondition do klauzule WHERE. Příklad najdete v části Paralelní kopírování z Microsoft Fabric Warehouse . |
No |
partitionUpperBound | Maximální hodnota sloupce oddílu pro rozdělení rozsahu oddílů. Tato hodnota se používá k rozhodování o kroku oddílu, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnotu. Použít, pokud je DynamicRange možnost oddílu . Příklad najdete v části Paralelní kopírování z Microsoft Fabric Warehouse . |
No |
partitionLowerBound | Minimální hodnota sloupce oddílu pro rozdělení rozsahu oddílů. Tato hodnota se používá k rozhodování o kroku oddílu, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnotu. Použít, pokud je DynamicRange možnost oddílu . Příklad najdete v části Paralelní kopírování z Microsoft Fabric Warehouse . |
No |
Poznámka:
Při použití uložené procedury ve zdroji k načtení dat si všimněte, že uložená procedura je navržena jako vrácení jiného schématu při předání jiné hodnoty parametru, může dojít k selhání nebo k neočekávanému výsledku při importu schématu z uživatelského rozhraní nebo při kopírování dat do Microsoft Fabric Warehouse s automatickým vytvořením tabulky.
Příklad: Použití dotazu SQL
"activities":[
{
"name": "CopyFromMicrosoftFabricWarehouse",
"type": "Copy",
"inputs": [
{
"referenceName": "<Microsoft Fabric Warehouse input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "WarehouseSource",
"sqlReaderQuery": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Příklad: použití uložené procedury
"activities":[
{
"name": "CopyFromMicrosoftFabricWarehouse",
"type": "Copy",
"inputs": [
{
"referenceName": "<Microsoft Fabric Warehouse input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "WarehouseSource",
"sqlReaderStoredProcedureName": "CopyTestSrcStoredProcedureWithParameters",
"storedProcedureParameters": {
"stringData": { "value": "str3" },
"identifier": { "value": "$$Text.Format('{0:yyyy}', <datetime parameter>)", "type": "Int"}
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Ukázková uložená procedura:
CREATE PROCEDURE CopyTestSrcStoredProcedureWithParameters
(
@stringData varchar(20),
@identifier int
)
AS
SET NOCOUNT ON;
BEGIN
select *
from dbo.UnitTestSrcTable
where dbo.UnitTestSrcTable.stringData != stringData
and dbo.UnitTestSrcTable.identifier != identifier
END
GO
Microsoft Fabric Warehouse jako typ jímky
Kanály Azure Data Factory a Synapse podporují použití příkazu COPY k načtení dat do Microsoft Fabric Warehouse.
Pokud chcete kopírovat data do Microsoft Fabric Warehouse, nastavte typ jímky v aktivitě kopírování na WarehouseSink. V části Jímka aktivity kopírování se podporují následující vlastnosti:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
type | Vlastnost typu jímky aktivity kopírování musí být nastavena na WarehouseSink. | Ano |
allowCopyCommand | Určuje, jestli se má příkaz COPY použít k načtení dat do Microsoft Fabric Warehouse. Informace o omezeních a podrobnostech najdete v části Použití příkazu COPY k načtení dat do microsoft Fabric Warehouse . Povolená hodnota je True. |
Ano |
copyCommandSettings | Skupina vlastností, které lze zadat, když allowCopyCommand je vlastnost nastavena na HODNOTU TRUE. |
No |
writeBatchTimeout | Tato vlastnost určuje dobu čekání na dokončení operace vložení, upsertu a uložené procedury před vypršením časového limitu. Povolené hodnoty jsou pro časový rozsah. Příkladem je 00:30:00 po dobu 30 minut. Pokud není zadána žádná hodnota, časový limit se ve výchozím nastavení nastaví na 00:30:00. |
No |
preCopyScript | Zadejte dotaz SQL pro aktivitu kopírování, který se má spustit před zápisem dat do Microsoft Fabric Warehouse v každém spuštění. Tato vlastnost slouží k vyčištění předem načtených dat. | No |
tableOption | Určuje, zda se má automaticky vytvořit tabulka jímky, pokud neexistuje na základě zdrojového schématu. Povolené hodnoty jsou: none (výchozí), autoCreate . |
No |
disableMetricsCollection | Služba shromažďuje metriky pro optimalizaci výkonu kopírování a doporučení, která představují další hlavní přístup k databázi. Pokud máte obavy o toto chování, určete true , jestli chcete toto chování vypnout. |
Ne (výchozí hodnota je false ) |
Příklad: Jímka služby Microsoft Fabric Warehouse
"activities":[
{
"name": "CopyToMicrosoftFabricWarehouse",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Microsoft Fabric Warehouse output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "WarehouseSink",
"allowCopyCommand": true,
"tableOption": "autoCreate",
"disableMetricsCollection": false
}
}
}
]
Paralelní kopírování z Microsoft Fabric Warehouse
Konektor Microsoft Fabric Warehouse v aktivitě kopírování poskytuje integrované dělení dat pro paralelní kopírování dat. Možnosti dělení dat najdete na kartě Zdroj aktivity kopírování.
Když povolíte dělené kopírování, aktivita kopírování spouští paralelní dotazy na zdroj Microsoft Fabric Warehouse a načítá data podle oddílů. Paralelní stupeň se řídí parallelCopies
nastavením aktivity kopírování. Pokud například nastavíte parallelCopies
hodnotu čtyři, služba souběžně vygeneruje a spouští čtyři dotazy na základě zadané možnosti a nastavení oddílu a každý dotaz načte část dat z vašeho Microsoft Fabric Warehouse.
Doporučujeme povolit paralelní kopírování s dělením dat, zejména pokud načítáte velké množství dat z Microsoft Fabric Warehouse. Následující konfigurace jsou navržené pro různé scénáře. Při kopírování dat do souborového úložiště dat se doporučuje zapisovat do složky jako více souborů (zadat pouze název složky), v takovém případě je výkon lepší než zápis do jednoho souboru.
Scénář | Navrhovaná nastavení |
---|---|
Úplné načtení z velké tabulky, zatímco u sloupce typu celé číslo nebo datum a čas pro dělení dat. | Možnosti oddílu: Oddíl dynamického rozsahu Sloupec oddílu (volitelné): Zadejte sloupec použitý k dělení dat. Pokud není zadaný, použije se sloupec indexu nebo primárního klíče. Horní mez oddílu a dolní mez oddílu (volitelné): Určete, jestli chcete určit krok oddílu. Toto není pro filtrování řádků v tabulce a všechny řádky v tabulce budou rozděleny a zkopírovány. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnoty. Pokud má například sloupec oddílu ID hodnoty od 1 do 100 a dolní mez nastavíte jako 20 a horní mez jako 80, přičemž paralelní kopírování je 4, služba načte data o 4 oddílech – ID v rozsahu <=20, [21, 50], [51, 80] a >=81. |
Načtěte velké množství dat pomocí vlastního dotazu, zatímco s celočíselnou nebo datem a datem a časem pro dělení dat. | Možnosti oddílu: Oddíl dynamického rozsahu Dotaz: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> .Sloupec oddílu: Zadejte sloupec použitý k rozdělení dat. Horní mez oddílu a dolní mez oddílu (volitelné): Určete, jestli chcete určit krok oddílu. Toto není pro filtrování řádků v tabulce a všechny řádky ve výsledku dotazu budou rozděleny a zkopírovány. Pokud není zadáno, aktivita kopírování automaticky rozpozná hodnotu. Pokud má například sloupec oddílu ID hodnoty od 1 do 100 a dolní mez nastavíte jako 20 a horní mez 80, přičemž paralelní kopírování je 4, služba načte data podle 4 oddílů v rozsahu <=20, [21, 50], [51, 80] a >=81. Tady jsou další ukázkové dotazy pro různé scénáře: 1. Dotaz na celou tabulku: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition 2. Dotaz z tabulky s výběrem sloupce a dalšími filtry klauzule where: SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> 3. Dotaz s poddotazy: SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause> 4. Dotaz s oddílem v poddotazu: SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T |
Osvědčené postupy pro načtení dat s možností oddílu:
- Zvolte výrazný sloupec jako sloupec oddílu (například primární klíč nebo jedinečný klíč), abyste se vyhnuli nerovnoměrné distribuci dat.
- Pokud ke kopírování dat používáte Prostředí Azure Integration Runtime, můžete nastavit větší počet jednotek Integrace Dat (DIU) (>4) a využít tak více výpočetních prostředků. Zkontrolujte tam příslušné scénáře.
- "Stupeň paralelismu kopírování" řídí čísla oddílů, nastavení příliš velkého čísla někdy snižuje výkon, doporučujeme nastavit toto číslo jako (DIU nebo počet uzlů místního prostředí IR) * (2 až 4).
- Všimněte si, že Microsoft Fabric Warehouse může spustit maximálně 32 dotazů najednou. Nastavení stupně paralelismu kopírování může způsobit problém s omezováním skladu.
Příklad: Dotaz s oddílem dynamického rozsahu
"source": {
"type": "WarehouseSource",
"query": "SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>",
"partitionOption": "DynamicRange",
"partitionSettings": {
"partitionColumnName": "<partition_column_name>",
"partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
"partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
}
}
Použití příkazu COPY k načtení dat do Microsoft Fabric Warehouse
Použití příkazu COPY je jednoduchý a flexibilní způsob načítání dat do Microsoft Fabric Warehouse s vysokou propustností. Další podrobnosti získáte tak, že pomocí příkazu COPY zkontrolujete hromadná načtení dat.
- Pokud jsou zdrojová data v Azure Blob nebo Azure Data Lake Storage Gen2 a formát je kompatibilní s příkazem COPY, můžete pomocí aktivity kopírování přímo vyvolat příkaz COPY a nechat Microsoft Fabric Warehouse načíst data ze zdroje. Podrobnosti najdete v tématu Přímé kopírování pomocí příkazu COPY.
- Pokud vaše zdrojové úložiště dat a formát není původně podporováno příkazem COPY, použijte místo toho funkci fázované kopie pomocí funkce příkazu COPY. Funkce fázovaného kopírování také poskytuje lepší propustnost. Automaticky převede data do formátu kompatibilního s příkazem COPY, uloží data do úložiště objektů blob v Azure a potom zavolá příkaz COPY, který načte data do Microsoft Fabric Warehouse.
Tip
Při použití příkazu COPY se službou Azure Integration Runtime je efektivní jednotky Integrace Dat (DIU) vždy 2. Ladění DIU nemá vliv na výkon.
Přímé kopírování pomocí příkazu COPY
Příkaz COPY služby Microsoft Fabric Warehouse přímo podporuje Azure Blob, Azure Data Lake Storage Gen1 a Azure Data Lake Storage Gen2. Pokud zdrojová data splňují kritéria popsaná v této části, zkopírujte příkaz COPY přímo ze zdrojového úložiště dat do Microsoft Fabric Warehouse. V opačném případě použijte fázovanou kopii pomocí příkazu COPY. Služba zkontroluje nastavení a nezdaří spuštění aktivity kopírování, pokud kritéria nejsou splněna.
Zdrojová propojená služba a formát mají následující typy a metody ověřování:
Podporovaný typ zdrojového úložiště dat Podporovaný formát Podporovaný typ ověřování zdroje Azure Blob Text s oddělovači Ověřování pomocí klíče účtu, ověřování pomocí sdíleného přístupového podpisu Parkety Ověřování pomocí klíče účtu, ověřování pomocí sdíleného přístupového podpisu Azure Data Lake Storage Gen2 Text s oddělovači
ParketyOvěřování pomocí klíče účtu, ověřování pomocí sdíleného přístupového podpisu Nastavení formátu jsou následující:
- Pro Parquet:
compression
nesmí být komprese, Snappy neboGZip
. - Text s oddělovači:
rowDelimiter
je explicitně nastaven jako jeden znak nebo \r\n, výchozí hodnota není podporována.nullValue
je ponechán jako výchozí nebo je nastaven na prázdný řetězec ("").encodingName
je ve výchozím nastavení nebo nastaven na utf-8 nebo utf-16.escapeChar
musí být stejný jakoquoteChar
a není prázdný.skipLineCount
je ponechán jako výchozí nebo je nastaven na hodnotu 0.compression
nemůže být žádná komprese neboGZip
.
- Pro Parquet:
Pokud je zdrojem složka,
recursive
musí být aktivita kopírování nastavena na true awildcardFilename
musí být*
nebo*.*
.wildcardFolderPath
,wildcardFilename
(jiné než*
nebo*.*
),modifiedDateTimeStart
,modifiedDateTimeEnd
,prefix
enablePartitionDiscovery
aadditionalColumns
nejsou zadány.
V aktivitě kopírování se podporují allowCopyCommand
následující nastavení příkazu COPY:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
defaultValues | Určuje výchozí hodnoty pro každý cílový sloupec v Microsoft Fabric Warehouse. Výchozí hodnoty ve vlastnosti přepíší omezení DEFAULT nastavené v datovém skladu a sloupec identity nemůže mít výchozí hodnotu. | No |
additionalOptions | Další možnosti, které se předají příkazu COPY skladu Microsoft Fabric přímo v klauzuli With v příkazu COPY. Podle potřeby uvozujte hodnotu tak, aby odpovídala požadavkům příkazu COPY. | No |
"activities":[
{
"name": "CopyFromAzureBlobToMicrosoftFabricWarehouseViaCOPY",
"type": "Copy",
"inputs": [
{
"referenceName": "ParquetDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "MicrosoftFabricWarehouseDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "ParquetSource",
"storeSettings":{
"type": "AzureBlobStorageReadSettings",
"recursive": true
}
},
"sink": {
"type": "WarehouseSink",
"allowCopyCommand": true,
"copyCommandSettings": {
"defaultValues": [
{
"columnName": "col_string",
"defaultValue": "DefaultStringValue"
}
],
"additionalOptions": {
"MAXERRORS": "10000",
"DATEFORMAT": "'ymd'"
}
}
},
"enableSkipIncompatibleRow": true
}
}
]
Fázované kopírování pomocí příkazu COPY
Pokud zdrojová data nejsou nativně kompatibilní s příkazem COPY, povolte kopírování dat prostřednictvím dočasného přípravného objektu blob Azure nebo Azure Data Lake Storage Gen2 (nejde o Azure Premium Storage). V takovém případě služba automaticky převede data tak, aby splňovala požadavky na formát dat příkazu COPY. Potom vyvolá příkaz COPY, který načte data do Microsoft Fabric Warehouse. Nakonec vyčistí dočasná data z úložiště. Podrobnosti o kopírování dat prostřednictvím přípravného procesu najdete v části Fázovaná kopie .
Pokud chcete tuto funkci použít, vytvořte propojenou službu Azure Blob Storage nebo propojenou službu Azure Data Lake Storage Gen2 s klíčem účtu nebo ověřováním identit spravovanou systémem, která odkazuje na účet úložiště Azure jako dočasné úložiště.
Důležité
- Pokud pro svoji přípravnou propojenou službu používáte ověřování spravovaných identit, seznamte se s potřebnými konfiguracemi pro Azure Blob a Azure Data Lake Storage Gen2 .
- Pokud je vaše přípravná služba Azure Storage nakonfigurovaná s koncovým bodem služby virtuální sítě, musíte pro účet úložiště použít ověřování spravované identity s povolenou možností Povolit důvěryhodnou službu Microsoftu, projděte si dopad používání koncových bodů služeb virtuální sítě s úložištěm Azure.
Důležité
Pokud je vaše přípravná služba Azure Storage nakonfigurovaná se spravovaným privátním koncovým bodem a má povolenou bránu firewall úložiště, musíte použít ověřování spravované identity a udělit službě Synapse SQL Server oprávnění čtenáře dat objektů blob služby Storage, aby se zajistilo, že bude mít přístup k fázovaným souborům během načítání příkazu COPY.
"activities":[
{
"name": "CopyFromSQLServerToMicrosoftFabricWarehouseViaCOPYstatement",
"type": "Copy",
"inputs": [
{
"referenceName": "SQLServerDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "MicrosoftFabricWarehouseDataset",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SqlSource",
},
"sink": {
"type": "WarehouseSink",
"allowCopyCommand": true
},
"stagingSettings": {
"linkedServiceName": {
"referenceName": "MyStagingStorage",
"type": "LinkedServiceReference"
}
}
}
}
]
Mapování vlastností toku dat
Při transformaci dat při mapování toku dat můžete číst a zapisovat do tabulek z Microsoft Fabric Warehouse. Další informace najdete v tématu transformace zdroje a transformace jímky v mapování toků dat.
Microsoft Fabric Warehouse jako zdroj
Nastavení specifická pro Microsoft Fabric Warehouse jsou k dispozici na kartě Možnosti zdroje transformace zdroje.
Název | Popis | Povinní účastníci | Povolené hodnoty | Vlastnost skriptu toku dat |
---|---|---|---|---|
Vstup | Vyberte, jestli zdroj nasměrujete na tabulku (ekvivalent select * from tablename), nebo zadáte vlastní dotaz SQL nebo načtete data z uložené procedury. Dotaz: Pokud ve vstupním poli vyberete Dotaz, zadejte dotaz SQL pro zdroj. Toto nastavení přepíše všechny tabulky, které jste zvolili v datové sadě. Klauzule Order By se tady nepodporují, ale můžete nastavit úplný příkaz SELECT FROM. Můžete také použít uživatelem definované funkce tabulek. select * from udfGetData() je UDF v SQL, který vrací tabulku. Tento dotaz vytvoří zdrojovou tabulku, kterou můžete použít ve svém toku dat. Použitídotazůch Příklad SQL: Select * from MyTable where customerId > 1000 and customerId < 2000 |
Ano | Tabulka nebo dotaz nebo uložená procedura | format: 'table' |
Velikost dávky | Zadejte velikost dávky pro rozdělení velkých dat do čtení. V tocích dat se toto nastavení použije k nastavení sloupcového ukládání do mezipaměti Sparku. Toto je pole možnosti, které použije výchozí hodnoty Sparku, pokud zůstane prázdné. | No | Číselné hodnoty | batchSize: 1234 |
Úroveň izolace | Výchozí hodnota pro zdroje SQL v mapování toku dat je nepřečtena. Úroveň izolace zde můžete změnit na jednu z těchto hodnot:• Čtení potvrzeno • Čtení bez potvrzení • Opakovatelné čtení • Serializovatelné • Žádné (ignorovat úroveň izolace) | Ano | • Čtení potvrzeno • Čtení nepotvrzené • Opakovatelné čtení • Serializovatelné • Žádné (ignorovat úroveň izolace) | isolationLevel |
Poznámka:
Čtení prostřednictvím přípravného prostředí se nepodporuje. Podpora CDC pro zdroj Microsoft Fabric Warehouse není aktuálně dostupná.
Microsoft Fabric Warehouse jako jímka
Nastavení specifická pro Microsoft Fabric Warehouse jsou k dispozici na kartě Nastavení transformace jímky.
Název | Popis | Povinní účastníci | Povolené hodnoty | Vlastnost skriptu toku dat |
---|---|---|---|---|
Metoda aktualizace | Určuje, jaké operace jsou povoleny v cíli databáze. Výchozí hodnota je povolit pouze vkládání. Pokud chcete aktualizovat, upsertovat nebo odstranit řádky, je pro tyto akce potřeba transformace alter-row. Pro aktualizace, upserty a odstranění je nutné nastavit klíčový sloupec nebo sloupce, aby bylo možné určit, který řádek se má změnit. | Ano | true nebo false | aktualizovatelná vložitelná upsertable |
Akce tabulky | Určuje, zda se mají před zápisem znovu vytvořit nebo odebrat všechny řádky z cílové tabulky.• Žádná: V tabulce nebude provedena žádná akce. • Znovu vytvořte: Tabulka se zahodí a znovu vytvoří. Vyžaduje se, pokud vytváříte novou tabulku dynamicky.• Zkrátí se: Odeberou se všechny řádky z cílové tabulky. | No | Žádná nebo znovu vytvořit nebo zkrátit | opětovné vytvoření: true truncate: true |
Zapnout pracovní režim | Přípravné úložiště je nakonfigurované v aktivitě Execute Tok dat. Pokud pro propojenou službu úložiště používáte ověřování spravované identity, seznamte se s potřebnými konfiguracemi pro Azure Blob a Azure Data Lake Storage Gen2 . Pokud je služba Azure Storage nakonfigurovaná s koncovým bodem služby virtuální sítě, musíte pro účet úložiště použít ověřování spravované identity s povolenou možností Povolit důvěryhodnou službu Microsoftu, projděte si dopad používání koncových bodů služeb virtuální sítě s úložištěm Azure. | No | true nebo false | staged: true |
Velikost dávky | Určuje, kolik řádků se píše v jednotlivých kontejnerech. Větší velikosti dávek zlepšují kompresi a optimalizaci paměti, ale při ukládání dat do mezipaměti riskují výjimky z paměti. | No | Číselné hodnoty | batchSize: 1234 |
Použití schématu jímky | Ve výchozím nastavení se ve schématu jímky vytvoří dočasná tabulka jako pracovní. Alternativně můžete zrušit zaškrtnutí možnosti Použít schéma jímky a místo toho ve schématu Vybrat uživatelskou databázi zadat název schématu, pod kterým Služba Data Factory vytvoří pracovní tabulku pro načtení nadřazených dat a automaticky je po dokončení vyčistí. Ujistěte se, že máte v databázi oprávnění k vytvoření tabulky, a upravte oprávnění ke schématu. | No | true nebo false | stagingSchemaName |
Skripty pre a post SQL | Zadejte víceřádkové skripty SQL, které se spustí před (před zpracováním) a po (po zpracování) zapisují do databáze jímky. | No | Skripty SQL | preSQLs:['set IDENTITY_INSERT mytable ON'] postSQLs:['set IDENTITY_INSERT mytable OFF'], |
Zpracování chybového řádku
Spuštění toku dat ve výchozím nastavení selže při první chybě, která se zobrazí. Můžete se rozhodnout pokračovat v chybě, která umožňuje dokončení toku dat, i když mají jednotlivé řádky chyby. Služba poskytuje různé možnosti, jak tyto řádky chyb zpracovat.
Potvrzení transakce: Zvolte, zda se vaše data zapisuje do jedné transakce nebo v dávkách. Jedna transakce zajistí lepší výkon a ostatní nebudou vidět žádná zapsaná data, dokud se transakce nedokončí. Dávkové transakce mají horší výkon, ale můžou fungovat pro velké datové sady.
Odmítnutá data výstupu: Pokud je tato možnost povolená, můžete vypíšete řádky chyb do souboru CSV ve službě Azure Blob Storage nebo účtu Azure Data Lake Storage Gen2 podle vašeho výběru. Tím se zapíšou řádky chyb se třemi dalšími sloupci: operace SQL, jako je INSERT nebo UPDATE, kód chyby toku dat a chybová zpráva na řádku.
Nahlášení úspěchu při chybě: Pokud je tok dat povolený, označí se jako úspěšný i v případě, že jsou nalezeny řádky chyb.
Poznámka:
Pro propojenou službu Microsoft Fabric Warehouse je podporovaný typ ověřování instančního objektu "Klíč"; Ověřování certifikátem není podporováno.
Vlastnosti aktivity vyhledávání
Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.
Vlastnosti aktivity GetMetadata
Podrobnosti o vlastnostech najdete v aktivitě GetMetadata.
Mapování datových typů pro Microsoft Fabric Warehouse
Při kopírování dat z Microsoft Fabric Warehouse se následující mapování používají z datových typů Microsoft Fabric Warehouse k internímu zpracování datových typů v rámci služby. Informace o tom, jak aktivita kopírování mapuje zdrojové schéma a datový typ na jímku, najdete v tématu Mapování schématu a datového typu.
Datový typ Microsoft Fabric Warehouse | Dočasný datový typ služby Data Factory |
---|---|
bigint | Int64 |
binární | Bajt[] |
bitové | Logická hodnota |
char | Řetězec, znak[] |
datum | DateTime |
datetime2 | DateTime |
Desetinné | Desetinné číslo |
ATRIBUT FILESTREAM (varbinary(max)) | Bajt[] |
Float | Hodnota s dvojitou přesností |
int | Int32 |
numerické | Desetinné číslo |
real | Jeden |
smallint | Int16 |
čas | TimeSpan |
uniqueidentifier | Guid |
varbinary | Bajt[] |
varchar | Řetězec, znak[] |
Další kroky
Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v tématu Podporované úložiště dat.