Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
VZTAHUJE SE NA:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.
Tento článek popisuje funkce optimalizace výkonu aktivity kopírování, které můžete využít v kanálech Azure Data Factory a Synapse.
Konfigurace funkcí výkonu pomocí uživatelského rozhraní
Když vyberete aktivita Copy na plátně editoru kanálů a zvolíte kartu Nastavení v oblasti konfigurace aktivity pod plátnem, zobrazí se možnosti konfigurace všech funkcí výkonu podrobně popsaných níže.
Jednotky integrace dat
Jednotka Integrace Dat je míra, která představuje výkon (kombinaci procesoru, paměti a přidělení síťových prostředků) jedné jednotky v rámci služby. Jednotka integrace dat se vztahuje jenom na Azure Integration Runtime, ale ne na lokálně hostované Integration Runtime.
Povolené jednotky DIU, které umožňují spuštění aktivity kopírování, jsou mezi 4 a 256. Pokud není zadáno nebo zvolíte v uživatelském rozhraní možnost Automatické, služba dynamicky aplikuje optimální nastavení DIU na základě zdrojového a cílového páru a datového vzoru. Následující tabulka uvádí podporované rozsahy DIU a výchozí chování v různých scénářích kopírování:
| Scénář pro kopírování | Podporovaný rozsah DIU | Výchozí jednotky DIU určené službou |
|---|---|---|
| Mezi úložišti souborů |
-
Kopírovat z nebo do jednoho souboru: 4 - Kopírovat z a do více souborů: 4–256 v závislosti na počtu a velikosti souborů Pokud například kopírujete data ze složky se 4 velkými soubory a rozhodnete se zachovat hierarchii, maximální efektivní DIU je 16; pokud se rozhodnete sloučit soubor, maximální efektivní DIU je 4. |
Mezi 4 a 32 v závislosti na počtu a velikosti souborů |
| Z úložiště souborů do jiného než souborového úložiště |
-
Kopírování z jednoho souboru: 4 - Kopírování z více souborů: 4–256 v závislosti na počtu a velikosti souborů Pokud například kopírujete data ze složky se 4 velkými soubory, maximální efektivní DIU je 16. |
-
Copy do Azure SQL Database nebo Azure Cosmos DB: mezi 4 a 16 v závislosti na vrstvě jímky (DTU/RU) a vzoru zdrojového souboru - Copy do Azure Synapse Analytics pomocí příkazu PolyBase nebo COPY: 2 - Jiný scénář: 4 |
| Z úložiště nesouborů do úložiště souborů |
-
Copy z úložišť dat s podporou možností oddílů (včetně Azure Database for PostgreSQL, Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Oracle, Netezza, SQL Server a Teradata): 4–256 při zápisu do složky a 4 při zápisu do jednoho souboru. Všimněte si, že na každý zdrojový datový oddíl lze použít až 4 jednotky DIU. - Další scénáře: 4 |
-
Kopírování z REST nebo HTTP: 1 - Kopírování z Amazon Redshift pomocí UNLOAD: 4 - Jiný scénář: 4 |
| Mezi nesouborovými úložišti |
-
Copy z úložišť dat s podporou možností oddílů (včetně Azure Database for PostgreSQL, Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Oracle, Netezza, SQL Server a Teradata): 4–256 při zápisu do složky a 4 při zápisu do jednoho souboru. Všimněte si, že na každý zdrojový datový oddíl lze použít až 4 jednotky DIU. - Další scénáře: 4 |
-
Kopírování z REST nebo HTTP: 1 - Jiný scénář: 4 |
Jednotky DIU používané pro každé spuštění kopírování můžete zobrazit v zobrazení monitorování procesu kopírování nebo výstupu aktivity. Další informace najdete v tématu Sledování kopírovací aktivity. Chcete-li toto výchozí nastavení přepsat, zadejte hodnotu vlastnosti dataIntegrationUnits následujícím způsobem. Skutečný počet jednotek DIU, které operace kopírování používá za běhu, je roven nebo menší než nakonfigurovaná hodnota v závislosti na vašem vzoru dat.
Bude vám naúčtováno počet použitých jednotek DIU * doba trvání kopírování * jednotková cena za DIU-hodinu. Podívejte se na aktuální ceny zde. Místní měna a samostatné slevy se můžou uplatnit na typ předplatného.
Příklad:
"activities":[
{
"name": "Sample copy activity",
"type": "Copy",
"inputs": [...],
"outputs": [...],
"typeProperties": {
"source": {
"type": "BlobSource",
},
"sink": {
"type": "AzureDataLakeStoreSink"
},
"dataIntegrationUnits": 128
}
}
]
Škálovatelnost místního prostředí Integration Runtime
Pokud chcete dosáhnout vyšší propustnosti, můžete buď vertikálně škálovat, nebo horizontálně škálovat Self-hosted IR.
- Pokud procesor a dostupná paměť na uzlu místního prostředí IR nejsou plně využité, ale provádění souběžných úloh dosahuje limitu, měli byste vertikálně navýšit kapacitu zvýšením počtu souběžných úloh, které se můžou spouštět na uzlu. Pokyny najdete tady .
- Pokud je na druhé straně procesor vysoké na uzlu místního prostředí IR nebo je dostupná paměť nízká, můžete přidat nový uzel, který pomáhá škálovat zatížení napříč několika uzly. Pokyny najdete tady .
Upozornění, v následujících případech může provádění aktivity jedné kopie využívat několik uzlů lokálně hostovaného IR:
- Zkopírujte data z úložišť založených na souborech v závislosti na počtu a velikosti souborů.
- Kopírování dat z úložiště dat s podporou možností oddílů (včetně Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Oracle, Netezza, SAP HANA, SAP Open Hub, SAP Table, SQL Server a Teradata) v závislosti na počtu datových oddílů.
Paralelní kopírování
Můžete nastavit paralelní kopírování (vlastnost parallelCopies v definici JSON aktivity Copy nebo nastavení Degree of parallelism na záložce Settings v uživatelském rozhraní vlastností aktivity Copy) pro označení paralelismu, který má copy aktivita použít. Tuto vlastnost si můžete představit jako maximální počet vláken během kopírovací aktivity, která paralelně čtou ze zdroje nebo zapisují do cílových úložišť dat.
Paralelní kopie je ortogonální vůči Jednotkám pro integraci dat nebo lokálně hostovaným uzlům IR. Počítá se ve všech uzlech DIU nebo v samostatně hostovaných uzlech IR.
Pro každé spuštění aktivity kopírování služba ve výchozím nastavení dynamicky použije optimální nastavení paralelního kopírování na základě páru zdrojové jímky a datového vzoru.
Tip
Výchozí chování paralelní kopie obvykle poskytuje nejlepší propustnost, která je automaticky určená službou na základě páru zdrojových jímek, datového vzoru a počtu jednotek DIU nebo počtu procesorů/paměti/uzlů místního prostředí IR. Podívejte se na Řešení potíží s výkonem aktivity kopírování, kdy ladit paralelní kopírování.
Následující tabulka uvádí chování paralelního kopírování:
| Scénář pro kopírování | Chování paralelního kopírování |
|---|---|
| Mezi úložišti souborů |
parallelCopies určuje paralelismus na úrovni souboru. K segmentaci v rámci každého souboru dochází automaticky a transparentně. Je navržená tak, aby používala nejvhodnější velikost bloku dat pro daný typ úložiště dat k paralelnímu načtení dat. Skutečný počet paralelních kopií, které aktivita kopírování používá za běhu, není větší než počet souborů, které máte. Pokud je chování kopírování mergeFile do úložiště souborů, aktivita kopírování nemůže využít paralelizmus na úrovni souboru. |
| Z úložiště souborů do jiného než souborového úložiště | – Při kopírování dat do Azure SQL Database nebo Azure Cosmos DB závisí výchozí paralelní kopírování také na úrovni jímky (počet DTU/RU). – Při kopírování dat do tabulky Azure je výchozí paralelní kopírování 4. |
| Z úložiště nesouborů do úložiště souborů | – Při kopírování dat z úložiště dat s povolenými možnostmi oddílu (včetně Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Oracle, Amazon RDS for Oracle, Nezza, SAP HANA, SAP Open Hub, SAP Table, SQL Server, Azon RDS pro SQL Server a Teradata), výchozí paralelní kopie je 4. Skutečný počet paralelních kopií, které aktivita kopírování používá za běhu, není větší než počet oddílů dat, které máte. Pokud používáte Integration Runtime v místním prostředí a zkopírujte ho do Azure Blob/ADLS Gen2, všimněte si, že maximální efektivní paralelní kopírování je 4 nebo 5 na uzel IR. – V jiných scénářích se paralelní kopírování neprojeví. I když je zadaný paralelismus, nepoužije se. |
| Mezi nesouborovými úložišti | – Při kopírování dat do Azure SQL Database nebo Azure Cosmos DB závisí výchozí paralelní kopírování také na úrovni jímky (počet DTU/RU). – Při kopírování dat z úložiště dat s povolenými možnostmi oddílu (včetně Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Oracle, Amazon RDS for Oracle, Nezza, SAP HANA, SAP Open Hub, SAP Table, SQL Server, Azon RDS pro SQL Server a Teradata), výchozí paralelní kopie je 4. – Při kopírování dat do tabulky Azure je výchozí paralelní kopírování 4. |
Pokud chcete řídit zatížení počítačů, které hostují vaše úložiště dat, nebo ladit výkon kopírování, můžete přepsat výchozí hodnotu a zadat hodnotu vlastnosti parallelCopies . Hodnota musí být celé číslo větší nebo rovno 1. Při běhu, pro dosažení nejlepšího výkonu, používá aktivita kopírování hodnotu, která je menší nebo rovna hodnotě, kterou jste nastavili.
Když zadáte hodnotu vlastnosti parallelCopies , vezměte v úvahu zvýšení zatížení úložiště dat zdroje a jímky. Pokud je aktivita kopírování jím podporována, zvažte také zvýšení zatížení pro self-hosted Integration Runtime. K tomuto zvýšení zatížení dochází zejména v případě, že máte více aktivit nebo souběžných spuštění stejných aktivit, které běží ve stejném úložišti dat. Pokud si všimnete, že úložiště dat nebo místní prostředí Integration Runtime je zahlcené zatížením, snižte parallelCopies hodnotu, aby se zatížení uvolnilo.
Příklad:
"activities":[
{
"name": "Sample copy activity",
"type": "Copy",
"inputs": [...],
"outputs": [...],
"typeProperties": {
"source": {
"type": "BlobSource",
},
"sink": {
"type": "AzureDataLakeStoreSink"
},
"parallelCopies": 32
}
}
]
Fázovaná kopie
Při kopírování dat ze zdrojového úložiště dat do cílového úložiště dat se můžete rozhodnout použít Azure Blob Storage nebo Azure Data Lake Storage Gen2 jako mezisklad. Příprava je užitečná zejména v následujících případech:
- Chcete ingestovat data z různých úložišť dat do Azure Synapse Analytics prostřednictvím PolyBase, kopírovat data z/do Snowflake nebo ingestovat data z Amazon Redshift/HDFS výkonně. Další podrobnosti najdete tady:
- Nechcete otevírat jiné porty než port 80 a port 443 v bráně firewall kvůli firemním zásadám IT. Například když kopírujete data z místního úložiště dat do Azure SQL Database nebo Azure Synapse Analytics, musíte pro firewall Windows i firewall vaší firmy aktivovat odchozí komunikaci TCP na portu 1433. V tomto scénáři může fázovaná kopie využít výhod místního prostředí Integration Runtime k první zkopírování dat do přípravného úložiště přes PROTOKOL HTTP nebo HTTPS na portu 443 a pak načíst data z přípravného prostředí do služby SQL Database nebo Azure Synapse Analytics. V tomto toku nemusíte povolovat port 1433.
- Někdy trvá nějakou dobu, než se provede hybridní přesun dat (to znamená kopírování z místního úložiště dat do cloudového úložiště dat) přes pomalé síťové připojení. Pokud chcete zvýšit výkon, můžete pomocí fázované kopie komprimovat data místně, aby přesun dat do přípravného úložiště dat v cloudu trvalo méně času. Potom můžete před načtením do cílového úložiště dat dekomprimovat data v přípravném úložišti.
Poznámka:
Když používáte autentizaci založenou na Storage Account Key, můžete nechtěně odhalit hodnoty přihlašovacích údajů pro databázové systémy na území, které vykonávají příkazy poskytnuté zákazníkem. Zvažte použití autentizace založené na Managed Identity, Service Principal nebo Key Vault, pokud jsou k dispozici podporované možnosti.
Jak fázovaná kopie funguje
Při aktivaci funkce přípravného prostředí se nejprve zkopírují data ze zdrojového úložiště dat do přípravného úložiště (vaše vlastní úložiště Azure Blob nebo Azure Data Lake Storage Gen2). V dalším kroku se data zkopírují z přípravného úložiště dat do úložiště dat jímky. Aktivita kopírování automaticky spravuje dvoufázový tok a po dokončení přesunu dat také vyčistí dočasná data z přípravného úložiště.
Potřebujete udělit oprávnění k odstranění ve vašem přípravném úložišti pro službu Azure Data Factory, aby se dočasná data mohla po spuštění aktivity kopírování vyčistit.
Při aktivaci přesunu dat pomocí přípravného úložiště můžete určit, jestli chcete, aby se data před přesunutím ze zdrojového úložiště dat do přípravného úložiště zkomprimovala a před přesunem dat z dočasného nebo přípravného úložiště dat do úložiště dat jímky dekomprimovala.
V současné době nemůžete kopírovat data mezi dvěma úložišti dat připojenými prostřednictvím různých místního prostředí, a to ani bez fázované kopie. Pro takový scénář můžete nakonfigurovat dvě explicitně zřetězené aktivity kopírování pro kopírování ze zdroje do přípravného prostředí a poté z přípravného prostředí do cílového úložiště.
Konfigurace
Nakonfigurujte nastavení enableStaging v aktivitě kopírování a určete, jestli se mají data před načtením do cílového úložiště dat fázovat v úložišti. Když nastavíte funkci enableStaging na TRUE, zadejte další vlastnosti uvedené v následující tabulce.
| Vlastnost | Popis | Výchozí hodnota | Požaduje se |
|---|---|---|---|
| enableStaging | Určete, jestli chcete kopírovat data prostřednictvím dočasného přípravného úložiště. | Nepravda | Ne |
| názevPropojenéSlužby | Zadejte název propojené služby Azure Blob Storage nebo Azure Data Lake Storage Gen2, která odkazuje na instanci úložiště, kterou používáte jako dočasné přípravné úložiště. | – | Ano, pokud je možnost enableStaging nastavená na hodnotu TRUE |
| cesta | Zadejte cestu, kterou chcete obsahovat fázovaná data. Pokud cestu nezadáte, služba vytvoří kontejner pro ukládání dočasných dat. | – | Ne (Ano, pokud storageIntegration je v konektoru Snowflake zadáno) |
| enableCompression | Určuje, jestli se mají data před zkopírováním do cíle komprimovat. Toto nastavení snižuje objem přenášených dat. | Nepravda | Ne |
Poznámka:
Pokud použijete fázovanou kopii s povolenou kompresí, není podporované ověřování instančního objektu nebo MSI pro přípravnou propojenou službu objektů blob.
Tady je ukázková definice aktivity kopírování s vlastnostmi popsanými v předchozí tabulce:
"activities":[
{
"name": "CopyActivityWithStaging",
"type": "Copy",
"inputs": [...],
"outputs": [...],
"typeProperties": {
"source": {
"type": "OracleSource",
},
"sink": {
"type": "SqlDWSink"
},
"enableStaging": true,
"stagingSettings": {
"linkedServiceName": {
"referenceName": "MyStagingStorage",
"type": "LinkedServiceReference"
},
"path": "stagingcontainer/path"
}
}
}
]
Dopad fakturace fázované kopie
Účtují se vám poplatky na základě dvou kroků: doba trvání kopírování a typ kopírování.
- Při použití dočasného úložiště během kopírování dat z jednoho cloudového úložiště do druhého, kdy obě fáze podporuje prostředí Azure Integration Runtime, se účtuje [součet doby trvání kopírování pro krok 1 a krok 2] x [jednotková cena za cloudové kopírování].
- Při použití přípravy během hybridní kopie, což je kopírování dat z místního úložiště dat do cloudového úložiště, které je zajištěné místním prostředím Integration Runtime, se vám účtují poplatky za [dobu trvání hybridní kopie] x [cena za jednotku hybridní kopie] + [doba trvání kopírování cloudu] x [cena jednotky cloudové kopie].
Související obsah
Podívejte se na další články o aktivitě kopírování: