teljesítményoptimalizálási funkciók Copy tevékenység

A KÖVETKEZŐKRE VONATKOZIK: Azure Data Factory Azure Synapse Analytics

Ez a cikk a másolási tevékenység teljesítményoptimalizálási funkcióit ismerteti, amelyeket Azure Data Factory és Synapse-folyamatokban használhat.

Teljesítményfunkciók konfigurálása felhasználói felülettel

Amikor kiválaszt egy Copy tevékenység a folyamatszerkesztő vásznán, és a vászon alatti tevékenységkonfigurációs területen a Beállítások fület választja, az alábbiakban az összes teljesítményfunkció konfigurálására szolgáló lehetőségek jelennek meg.

A Copy tevékenység teljesítményfunkcióinak megjelenítése a folyamatszerkesztőben a tevékenység Beállítások lapján.

Adatintegrációs egységek

Az adatintegrációs egység egy olyan mérték, amely egyetlen egység teljesítményét (a CPU, a memória és a hálózati erőforrás-kiosztás kombinációját) jelöli a szolgáltatáson belül. Az adatintegrációs egység csak az Azure integrációs modulra vonatkozik, a saját üzemeltetésű integrációs modulra nem.

A másolási tevékenység futtatását engedélyező diu-k száma 2 és 256 között lehet. Ha nincs megadva, vagy az "Automatikus" lehetőséget választja a felhasználói felületen, a szolgáltatás dinamikusan alkalmazza az optimális DIU-beállítást a forrás-fogadó pár és az adatminta alapján. Az alábbi táblázat a különböző másolási forgatókönyvekben támogatott DIU-tartományokat és alapértelmezett viselkedést sorolja fel:

Másolási forgatókönyv Támogatott DIU-tartomány A szolgáltatás által meghatározott alapértelmezett DIU-k
Fájltárolók között - Másolás egyetlen fájlból vagy fájlba: 2-4
- Másolás több fájlból és fájlba: 2-256 a fájlok számától és méretétől függően

Ha például egy 4 nagy fájlt tartalmazó mappából másol adatokat, és a hierarchia megőrzése mellett dönt, a maximális hatékony diu 16; ha úgy dönt, hogy egyesít egy fájlt, a maximális effektív DIU 4.
A fájlok számától és méretétől függően 4 és 32 között
Fájltárolóból nem fájltárolóba - Másolás egyetlen fájlból: 2-4
- Másolás több fájlból: 2-256 a fájlok számától és méretétől függően

Ha például egy 4 nagy fájlt tartalmazó mappából másol adatokat, a maximális érvényes diu 16.
- Másolás Azure SQL-adatbázisba vagy az Azure Cosmos DB-be: a fogadó rétegtől (DTU-k/kérelemegységek) és a forrásfájl mintájától függően 4 és 16 között
- Másolás Azure Synapse Analyticsbe PolyBase vagy COPY utasítással: 2
– Egyéb forgatókönyv: 4
Nem fájltárolóból fájltárolóba - Másolás partícióbeállítás-kompatibilis adattárakból (beleértve Azure Database for PostgreSQL, Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Oracle, Netezza, SQL Server és Teradata): 2–256, ha mappába ír, és 2–4, ha egyetlen fájlba ír. Megjegyzés forrásadatpartíciónként legfeljebb 4 DIU-t használhat.
- Egyéb forgatókönyvek: 2-4
- Másolás REST-ről vagy HTTP-ről: 1
- Másolás az Amazon Redshiftből az UNLOAD használatával: 2
- Egyéb forgatókönyv: 4
Nem fájltárolók között - Másolás partícióbeállítás-kompatibilis adattárakból (beleértve Azure Database for PostgreSQL, Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Oracle, Netezza, SQL Server és Teradata): 2–256, ha mappába ír, és 2–4, ha egyetlen fájlba ír. Megjegyzés forrásadatpartíciónként legfeljebb 4 DIU-t használhat.
- Egyéb forgatókönyvek: 2-4
- Másolás REST-ről vagy HTTP-ről: 1
- Egyéb forgatókönyv: 4

A másolási tevékenység figyelése nézetben vagy a tevékenység kimenetében láthatja az egyes másolási futtatáshoz használt DIU-kat. További információ: Copy tevékenység monitorozás. Az alapértelmezett érték felülbírálásához adja meg a tulajdonság értékét az dataIntegrationUnits alábbiak szerint. A másolási művelet által futtatáskor használt DIU-k tényleges száma az adatmintától függően egyenlő vagy kisebb, mint a konfigurált érték.

A felhasznált DIU-k száma * másolás időtartama * egységár/DIU-óra. Az aktuális árakat itt tekintsd meg. A helyi pénznem és a különálló kedvezmény előfizetés-típusonként alkalmazható.

Példa

"activities":[
    {
        "name": "Sample copy activity",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "dataIntegrationUnits": 128
        }
    }
]

Helyi integrációs modul méretezhetősége

Ha nagyobb átviteli sebességet szeretne elérni, vertikálisan felskálázhatja vagy felskálázhatja a saját üzemeltetésű integrációs modult:

  • Ha a saját üzemeltetésű integrációs modul csomópontján lévő cpu és rendelkezésre álló memória nincs teljesen kihasználva, de az egyidejű feladatok végrehajtása eléri a korlátot, vertikálisan fel kell skáláznia a csomóponton futtatható egyidejű feladatok számának növelésével. Itt talál útmutatást.
  • Ha viszont a cpu magas a helyi integrációs modul csomópontján, vagy kevés a rendelkezésre álló memória, hozzáadhat egy új csomópontot a terhelés több csomópontra való felskálázásához. Itt talál útmutatást.

Vegye figyelembe, hogy a következő esetekben az egy másolási tevékenység végrehajtása több helyi integrációs modulcsomópontot is kihasználhat:

Párhuzamos másolás

A párhuzamos másolást (parallelCopiesa Copy tevékenység JSON-definíciójában lévő tulajdonságot, vagy Degree of parallelism a felhasználói felület Copy tevékenység tulajdonságainak Beállítások lapján) beállíthatja a másolási tevékenység párhuzamosságát. Ezt a tulajdonságot tekintheti úgy, mint a másolási tevékenység azon szálainak maximális számát, amelyek a forrásból olvasnak, vagy párhuzamosan írnak a fogadó adattárakba.

A párhuzamos másolás az adatintegrációs egységekre vagy a helyi integrációs modul csomópontjaira fogható. A függvény az összes DIU-ra vagy helyi integrációs modulcsomópontra beleszámít.

Minden másolási tevékenység futtatásakor a szolgáltatás alapértelmezés szerint dinamikusan alkalmazza az optimális párhuzamos másolási beállítást a forrás-fogadó pár és az adatminta alapján.

Tipp

A párhuzamos másolás alapértelmezett viselkedése általában a legjobb átviteli sebességet biztosítja, amelyet a szolgáltatás automatikusan meghatároz a forrás-fogadó pár, az adatminta és a DIU-k száma vagy a helyi integrációs modul CPU-/memória-/csomópontszáma alapján. Tekintse meg a másolási tevékenység teljesítményével kapcsolatos hibák elhárítását a párhuzamos másolás hangolásának időpontjával kapcsolatban.

Az alábbi táblázat a párhuzamos másolási viselkedést sorolja fel:

Másolási forgatókönyv Párhuzamos másolási viselkedés
Fájltárolók között parallelCopies A a fájl szintjén határozza meg a párhuzamosságot. Az egyes fájlokon belüli adattömbolás automatikusan és átláthatóan történik. Úgy tervezték, hogy egy adott adattártípushoz a legmegfelelőbb adattömbméretet használja az adatok párhuzamos betöltéséhez.

A párhuzamos másolási tevékenység futásidőben használt példányainak tényleges száma nem több, mint a meglévő fájlok száma. Ha a másolási viselkedés a mergeFile fájlfoglalóba kerül, a másolási tevékenység nem tudja kihasználni a fájlszintű párhuzamosságot.
Fájltárolóból nem fájltárolóba – Amikor adatokat másol Azure SQL Database-be vagy az Azure Cosmos DB-be, az alapértelmezett párhuzamos másolás a fogadó rétegtől (DTU-k/kérelemegységek száma) is függ.
– Amikor adatokat másol az Azure Tablebe, az alapértelmezett párhuzamos másolás 4.
Nem fájltárolóból fájltárolóba – Amikor partícióbeállítás-kompatibilis adattárból másol adatokat (beleértve a Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Oracle, Amazon RDS for Oracle, Netezza, SAP HANA, SAP Open Hub, SAP Table, SQL Server , Amazon RDS for SQL Server és Teradata), az alapértelmezett párhuzamos másolás 4. A párhuzamos másolási tevékenységek futásidőben használt tényleges száma nem több, mint a meglévő adatpartíciók száma. Ha saját üzemeltetésű Integration Runtime használ, és az Azure Blob/ADLS Gen2-be másol, vegye figyelembe, hogy a párhuzamos példányok maximális hatékonysága integrációs modulonként 4 vagy 5 lehet.
– Más forgatókönyvek esetén a párhuzamos másolás nem lép érvénybe. Még ha a párhuzamosság is meg van adva, a rendszer nem alkalmazza.
Nem fájltárolók között – Amikor adatokat másol Azure SQL Database-be vagy az Azure Cosmos DB-be, az alapértelmezett párhuzamos másolás a fogadó rétegtől (DTU-k/kérelemegységek száma) is függ.
– Amikor partícióbeállítás-kompatibilis adattárból másol adatokat (beleértve a Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Oracle, Amazon RDS for Oracle, Netezza, SAP HANA, SAP Open Hub, SAP Table, SQL Server , Amazon RDS for SQL Server és Teradata), az alapértelmezett párhuzamos másolás 4.
– Amikor adatokat másol az Azure Tablebe, az alapértelmezett párhuzamos másolás 4.

Az adattárakat üzemeltető gépek terhelésének szabályozásához vagy a másolási teljesítmény finomhangolásához felülbírálhatja az alapértelmezett értéket, és megadhatja a parallelCopies tulajdonság értékét. Az értéknek 1-nél nem kisebb egész számnak kell lennie. Futásidőben a legjobb teljesítmény érdekében a másolási tevékenység a beállított értéknél kisebb vagy azzal egyenlő értéket használ.

Amikor megad egy értéket a parallelCopies tulajdonsághoz, vegye figyelembe a forrás- és fogadóadattárak terhelésének növekedését. Vegye figyelembe a saját üzemeltetésű integrációs modul terhelésének növelését is, ha a másolási tevékenységet támogatja. Ez a terhelésnövekedés különösen akkor fordul elő, ha több tevékenységgel vagy egyidejűleg futtatja ugyanazokat a tevékenységeket, amelyek ugyanazon az adattáron futnak. Ha azt tapasztalja, hogy az adattár vagy a saját üzemeltetésű integrációs modul túlterhelt a terhelés miatt, csökkentse az parallelCopies értéket a terhelés csökkentése érdekében.

Példa

"activities":[
    {
        "name": "Sample copy activity",
        "type": "Copy",
        "inputs": [...],
        "outputs": [...],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
            },
            "sink": {
                "type": "AzureDataLakeStoreSink"
            },
            "parallelCopies": 32
        }
    }
]

Szakaszos másolat

Amikor adatokat másol egy forrásadattárból egy fogadó adattárba, dönthet úgy, hogy az Azure Blob Storage-ot vagy a Azure Data Lake Storage Gen2 átmeneti átmeneti tárolóként használja. Az előkészítés különösen hasznos a következő esetekben:

  • Különböző adattárakból szeretne adatokat beemészteni Azure Synapse Analyticsbe a PolyBase-en keresztül, adatokat szeretne másolni a Snowflake-ból vagy az Amazon Redshift/HDFS-ből. További információ:
  • A vállalati informatikai szabályzatok miatt nem szeretne más portokat megnyitni a tűzfalon, mint a 80-at és a 443-at. Ha például adatokat másol egy helyszíni adattárból egy Azure SQL-adatbázisba vagy egy Azure Synapse Analyticsbe, aktiválnia kell a kimenő TCP-kommunikációt az 1433-as porton a Windows tűzfal és a vállalati tűzfal számára is. Ebben a forgatókönyvben a szakaszos másolás kihasználhatja a saját üzemeltetésű integrációs modul előnyeit, hogy először az adatokat egy átmeneti tárolóba másolja HTTP vagy HTTPS protokollon keresztül a 443-as porton, majd betölti az adatokat az előkészítésből SQL Database vagy Azure Synapse Analyticsbe. Ebben a folyamatban nem kell engedélyeznie az 1433-at.
  • Néha egy lassú hálózati kapcsolaton keresztül eltart egy hibrid adatáthelyezés (azaz egy helyszíni adattárból egy felhőbeli adattárba történő másolás) végrehajtása. A teljesítmény javítása érdekében szakaszos másolással tömörítheti a helyszíni adatokat, így kevesebb időt vesz igénybe az adatok áthelyezése az átmeneti adattárba a felhőben. Ezután kibonthatja az előkészítési tárolóban lévő adatokat, mielőtt betöltené a céladattárba.

A szakaszos másolás működése

Az előkészítési funkció aktiválásakor az adatok először a forrásadattárból az előkészítési tárolóba kerülnek (saját Azure Blob vagy Azure Data Lake Storage Gen2 használata). Ezután az adatok át lesznek másolva az előkészítésből a fogadó adattárba. A másolási tevékenység automatikusan kezeli a kétszakaszos folyamatot, és az adatáthelyezés befejezése után az átmeneti tárolóból is eltávolítja az ideiglenes adatokat.

Szakaszos másolat

Amikor átmeneti tárolóval aktiválja az adatáthelyezést, megadhatja, hogy tömörítse-e az adatokat, mielőtt áthelyezi az adatokat a forrásadattárból az előkészítési tárolóba, majd tömörítené az adatokat, mielőtt áthelyezi az adatokat egy köztes vagy átmeneti adattárból a fogadó adattárba.

Jelenleg nem másolhat adatokat két olyan adattár között, amelyek különböző saját üzemeltetésű IRS-en keresztül csatlakoznak, sem szakaszos másolással, sem anélkül. Ilyen esetben két, kifejezetten láncolt másolási tevékenységet konfigurálhat a forrásból az előkészítésbe, majd az előkészítésből a fogadóba történő másoláshoz.

Konfiguráció

Konfigurálja az enableStaging beállítást a másolási tevékenységben annak megadásához, hogy az adatok tárolóba legyenek-e rendezve, mielőtt betöltené őket egy céladattárba. Ha az enableStagingTRUEbeállítást adja meg, adja meg az alábbi táblázatban felsorolt további tulajdonságokat.

Tulajdonság Leírás Alapértelmezett érték Kötelező
enableStaging Adja meg, hogy ideiglenes átmeneti tárolón keresztül szeretne-e adatokat másolni. Hamis Nem
linkedServiceName Adja meg egy Azure Blob Storage vagy Azure Data Lake Storage Gen2 társított szolgáltatás nevét, amely az átmeneti tárolóként használt Storage-példányra hivatkozik. N.A. Igen, ha az enableStaging értéke IGAZ
path Adja meg a szakaszos adatokat tartalmazó elérési utat. Ha nem ad meg elérési utat, a szolgáltatás létrehoz egy tárolót az ideiglenes adatok tárolásához. N.A. Nem
enableCompression Meghatározza, hogy az adatok tömörítve legyenek-e, mielőtt azokat a célhelyre másolják. Ez a beállítás csökkenti az átvitt adatok mennyiségét. Hamis Nem

Megjegyzés

Ha szakaszos másolatot használ, és a tömörítés engedélyezve van, az átmeneti blobalapú szolgáltatás szolgáltatásnév- vagy MSI-hitelesítése nem támogatott.

Íme egy másolási tevékenység mintadefiníciója az előző táblázatban ismertetett tulajdonságokkal:

"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"
            }
        }
    }
]

Szakaszos másolás számlázásának hatása

A díj két lépésből áll: a másolás időtartama és a másolás típusa.

  • Ha átmeneti állapotot használ egy felhőbeli másolás során, amely egy felhőbeli adattárból egy másik felhőbeli adattárba másolja az adatokat, az Azure integrációs modul által támogatott mindkét fázisban a [másolási időtartam összege az 1. és 2. lépésben] x [felhőbeli másolási egység ára] díjat számítunk fel.
  • Ha az előkészítést hibrid példányon használja, amely egy helyszíni adattárból másol adatokat egy felhőbeli adattárba, amely egy, a saját üzemeltetésű integrációs modul által támogatott szakaszba kerül, a [hibrid másolás időtartama] x [hibrid másolási egység ára] + [felhőbeli másolás időtartama] x [felhőbeli másolási egység ára] díjat kell fizetnie.

Következő lépések

Tekintse meg a többi másolási tevékenységről szóló cikket: