Adatok másolása SAP HANA Azure Data Factory vagy Synapse Analytics

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

Ez a cikk azt ismerteti, hogyan használható a másolási tevékenység Azure Data Factory és Synapse Analytics adatok másolására egy SAP HANA adatbázisból. A másolási tevékenység áttekintését ismertető cikkre épül, amely általános áttekintést nyújt a másolási tevékenységről.

Tipp

Az SAP-adatintegrációs forgatókönyv általános támogatásával kapcsolatos további információkért tekintse meg az SAP-adatintegrációs tanulmányt, amely részletesen bevezető információkat tartalmaz az egyes SAP-összekötőkről, az összehasonlításról és az útmutatókról.

Támogatott képességek

Ez SAP HANA összekötő a következő tevékenységekhez támogatott:

Az adatokat átmásolhatja SAP HANA adatbázisból bármely támogatott fogadóadattárba. A másolási tevékenység által forrásként/fogadóként támogatott adattárakat a Támogatott adattárak táblázatban láthatja.

Ez a SAP HANA összekötő a következőt támogatja:

  • Adatok másolása az adatbázis SAP HANA verziójából.
  • Adatok másolása HANA-információs modellekből (például az Analytic és a Számítási nézetekből) és Sor/Oszlop táblákból.
  • Adatok másolása alapszintű vagy Windows használatával.
  • Párhuzamos másolás egy SAP HANA forrásból. További részleteket a Párhuzamos másolás SAP HANA szakaszban talál.

Tipp

Ha adatokat SAP HANA egy adattárba, használjon általános ODBC-összekötőt. További SAP HANA a fogadó szakaszt. Vegye figyelembe, hogy a SAP HANA ODBC-összekötő és az ODBC-összekötő összekapcsolt szolgáltatásai eltérő típusúak, ezért nem használhatók fel újra.

Előfeltételek

A SAP HANA összekötőhöz a következőt kell használnia:

Első lépések

A Copy tevékenység folyamatokkal való végrehajtásához a következő eszközök vagy AZDK-k egyikét használhatja:

Összekapcsolt szolgáltatás létrehozása SAP HANA felhasználói felület használatával

A következő lépésekkel hozhat létre egy összekapcsolt szolgáltatást, SAP HANA a Azure Portal felhasználói felületén.

  1. Lépjen a Kezelés lapra a Azure Data Factory Synapse-munkaterületen, és válassza a Csatolt szolgáltatások lehetőséget, majd kattintson az Új elemre:

  2. Keressen rá az SAP kifejezésre, és válassza ki SAP HANA összekötőt.

    A SAP HANA képernyőképe.

  3. Konfigurálja a szolgáltatás részleteit, tesztelje a kapcsolatot, és hozza létre az új csatolt szolgáltatást.

    Képernyőkép az összekapcsolt szolgáltatás konfigurációjának SAP HANA.

Az összekötő konfigurációjának részletei

A következő szakaszok részletesen ismertetik azokat a tulajdonságokat, amelyek az összekötőhöz Data Factory entitások SAP HANA meghatározásához.

Csatolt szolgáltatás tulajdonságai

Az alábbi tulajdonságok támogatottak a SAP HANA szolgáltatáshoz:

Tulajdonság Leírás Kötelező
típus A típus tulajdonságot a következőre kell beállítani: SapHana Yes
connectionString (kapcsolati karakterlánc) Adja meg az alapszintű hitelesítéssel vagy a SAP HANA való csatlakozáshoz Windows szükséges adatokat. Tekintse meg az alábbi mintákat.
A kapcsolati sztringben a kiszolgáló/port megadása kötelező (az alapértelmezett port a 30015),a felhasználónév és a jelszó pedig kötelező alapszintű hitelesítés esetén. További speciális beállításokért tekintse meg az ODBC SAP HANA tulajdonságairól
A jelszót a jelszóban is Azure Key Vault a jelszó konfigurációját a kapcsolati sztringből. További részleteket az Azure Key Vault a Hitelesítő adatok tárolása cikkben.
Yes
userName (Felhasználónév) Adja meg a felhasználónevet a Windows használata esetén. Például: user@domain.com No
jelszó Adja meg a felhasználói fiók jelszavát. Jelölje meg ezt a mezőt SecureString-ként a biztonságos tároláshoz, vagy hivatkozhat egy, akövetkezőben Azure Key Vault. No
connectVia A Integration Runtime az adattárhoz való csatlakozáshoz szükséges. Szükség van egy saját Integration Runtime a prerequisites (Előfeltételek) cikk szerint. Yes

Példa: egyszerű hitelesítés használata

{
    "name": "SapHanaLinkedService",
    "properties": {
        "type": "SapHana",
        "typeProperties": {
            "connectionString": "SERVERNODE=<server>:<port (optional)>;UID=<userName>;PWD=<Password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Példa: hitelesítés Windows használata

{
    "name": "SapHanaLinkedService",
    "properties": {
        "type": "SapHana",
        "typeProperties": {
            "connectionString": "SERVERNODE=<server>:<port (optional)>;",
            "userName": "<username>", 
            "password": { 
                "type": "SecureString", 
                "value": "<password>" 
            } 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Ha egy összekapcsolt szolgáltatást SAP HANA a következő hasznos adatokat használva, az továbbra is támogatott, miközben a 2001-hez javasolt az új használata.

Példa

{
    "name": "SapHanaLinkedService",
    "properties": {
        "type": "SapHana",
        "typeProperties": {
            "server": "<server>:<port (optional)>",
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Adatkészlet tulajdonságai

Az adatkészletek meghatározásához elérhető szakaszok és tulajdonságok teljes listájáért tekintse meg az adatkészletekkel kapcsolatos cikket. Ez a szakasz az adatkészlet által támogatott SAP HANA sorolja fel.

Az adatok másolása SAP HANA alábbi tulajdonságok támogatottak:

Tulajdonság Leírás Kötelező
típus Az adatkészlet type tulajdonságának a következőre kell állítania: SapHanaTable Yes
schema A séma neve a SAP HANA adatbázisban. Nem (ha a tevékenységforrásban a "lekérdezés" meg van adva)
tábla A tábla neve a SAP HANA adatbázisban. Nem (ha a tevékenységforrásban a "lekérdezés" meg van adva)

Példa

{
    "name": "SAPHANADataset",
    "properties": {
        "type": "SapHanaTable",
        "typeProperties": {
            "schema": "<schema name>",
            "table": "<table name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SAP HANA linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Ha gépelt adatkészletet használ, az továbbra is támogatott, de a 2012-es újabb használata RelationalTable továbbra is javasolt.

Másolási tevékenység tulajdonságai

A tevékenységek meghatározásához elérhető szakaszok és tulajdonságok teljes listáját a Folyamatok cikkben olvashatja el. Ez a szakasz a forrás által támogatott SAP HANA listáját tartalmazza.

SAP HANA forrásként

Tipp

Ha hatékonyan szeretne adatokat SAP HANA adatok particionálásával, olvassa el a párhuzamos másolásról SAP HANA szakaszt.

Az adatok másolása SAP HANA következő tulajdonságokat támogatja a másolási tevékenység forrása szakaszban:

Tulajdonság Leírás Kötelező
típus A másolási tevékenység forrásának type tulajdonságát a következőre kell beállítani: SapHanaSource Yes
lekérdezés Megadja a SQL lekérdezést, amely adatokat olvas a SAP HANA példányból. Yes
partitionOptions Megadja az adatoknak a SAP HANA. További információ: Párhuzamos másolás SAP HANA szakaszban.
Az engedélyezett értékek aek: Nincs   (alapértelmezett), PhysicalPartitionsOfTable, SapHanaDynamicRange. További információ: Párhuzamos másolás SAP HANA szakaszban. PhysicalPartitionsOfTable Csak akkor használható, ha adatokat másol egy táblából, de nem lekérdezést.
Ha a partíciós beállítás engedélyezve van (azaz nem ), akkor az adatok egyidejűleg betöltési SAP HANA a másolási tevékenység beállítása None parallelCopies vezérli.
Hamis 
partitionSettings Adja meg az adatpartíció beállításainak csoportját.
Akkor alkalmazza, ha a partíciós beállítás SapHanaDynamicRange .
Hamis 
partitionColumnName Adja meg annak a forrásoszlopnak a nevét, amelyet a partíció a párhuzamos másoláshoz fog használni. Ha nincs megadva, a rendszer automatikusan észleli és partícióoszlopként használja a tábla indexét vagy elsődleges kulcsát.
Akkor alkalmazza, ha a partíciós beállítás  SapHanaDynamicRange . Ha lekérdezést használ a forrásadatok lekéréséhez, használja a  ?AdfHanaDynamicRangePartitionCondition WHERE záradékot. Lásd a párhuzamos másolást a SAP HANA szakaszban.
Igen, ha partíciót SapHanaDynamicRange használ. 
packetSize (csomagméret) Megadja a hálózati csomag méretét (kilobájtban), hogy az adatokat több blokkra ossza fel. Ha nagy mennyiségű adatot kell másolnia, a csomagméret növelése a legtöbb SAP HANA növelheti az olvasási sebességet. A csomagméret módosításakor ajánlott a teljesítményt tesztelni. Nem.
Az alapértelmezett érték 2048 (2 MB).

Példa

"activities":[
    {
        "name": "CopyFromSAPHANA",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SAP HANA input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SapHanaSource",
                "query": "<SQL query for SAP HANA>"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Ha gépelt másolási forrást használt, az továbbra is támogatott, de a 2001-es verzió használata továbbra RelationalSource is javasolt.

Párhuzamos másolás SAP HANA

A SAP HANA összekötő beépített adatpartíciót biztosít az adatok párhuzamos másolására SAP HANA adatokból. Az adatpartíciós beállításokat a másolási tevékenység Forrás tábláján találja.

Képernyőkép a partíció beállításairól

Ha engedélyezi a particionált másolást, a szolgáltatás párhuzamos lekérdezéseket futtat a SAP HANA a forráson az adatok partíciók szerint való lekéréséhez. A párhuzamos fokot a parallelCopies másolási tevékenység beállítása vezérli. Ha például négyre van állítva, a szolgáltatás egyidejűleg generál és futtat négy lekérdezést a megadott partíciós beállítás és beállítások alapján, és minden lekérdezés lekéri az adatok egy részét parallelCopies a SAP HANA.

Ajánlott engedélyezni a párhuzamos másolást adatpartícióval, különösen akkor, ha nagy mennyiségű adatot SAP HANA. Az alábbiakban a különböző forgatókönyvekhez javasolt konfigurációkat íme. Amikor fájlalapú adattárba másol adatokat, ajánlott több fájlként írni egy mappába (csak mappanév megadása), ebben az esetben a teljesítmény jobb, mint egyetlen fájlba írni.

Eset Javasolt beállítások
Teljes betöltés nagy táblából. Partíciós beállítás: A tábla fizikai partíciói.

A végrehajtás során a szolgáltatás automatikusan észleli a megadott SAP HANA partíciótípust, és kiválasztja a megfelelő partícióstratégiat:
- Tartomány particionálása: Szerezze be a táblához definiált partícióoszlopot és partíciótartományokat, majd másolja az adatokat tartomány szerint.
- Kivonat particionálás: Használjon kivonatpartíciós kulcsot partícióoszlopként, majd particionálással és másolással használja az adatokat a szolgáltatás által kiszámított tartományok alapján.
- Ciklikus időkorreklikus particionálás vagy nincs partíció: Használja az elsődleges kulcsot partícióoszlopként, majd particionálással és másolással használja az adatokat a szolgáltatás által kiszámított tartományok alapján.
Nagy mennyiségű adat betöltése egyéni lekérdezéssel. Partíciós beállítás: Dinamikus tartomány partíciója.
Lekérdezés: SELECT * FROM <TABLENAME> WHERE ?AdfHanaDynamicRangePartitionCondition AND <your_additional_where_clause> .
Partícióoszlop: Adja meg a dinamikustartomány-partíció alkalmazására használt oszlopot.

A végrehajtás során a szolgáltatás először kiszámítja a megadott partícióoszlop értéktartományait úgy, hogy egyenlően osztja el a különböző partícióoszlop-értékek sorait a párhuzamos másolási beállítás különálló partícióoszlop-értékeinek száma alapján, majd lecseréli a értéket az egyes partíciók partícióoszlop-értéktartományának szűrésére, és elküldi őket a ?AdfHanaDynamicRangePartitionCondition SAP HANA.

Ha több oszlopot szeretne használni partícióoszlopként, össze is egyesítheti az egyes oszlopok értékeit egy oszlopként a lekérdezésben, és megadhatja partícióoszlopként, például a következőként: SELECT * FROM (SELECT *, CONCAT(<KeyColumn1>, <KeyColumn2>) AS PARTITIONCOLUMN FROM <TABLENAME>) WHERE ?AdfHanaDynamicRangePartitionCondition .

Példa: lekérdezés egy tábla fizikai partícióival

"source": {
    "type": "SapHanaSource",
    "partitionOption": "PhysicalPartitionsOfTable"
}

Példa: lekérdezés dinamikustartomány-partícióval

"source": {
    "type": "SapHanaSource",
    "query": "SELECT * FROM <TABLENAME> WHERE ?AdfHanaDynamicRangePartitionCondition AND <your_additional_where_clause>",
    "partitionOption": "SapHanaDynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<Partition_column_name>"
    }
}

Adattípus-leképezés SAP HANA

Amikor adatokat másol a SAP HANA, az alábbi leképezéseket használja SAP HANA és a szolgáltatáson belül belsőleg használt köztes adattípusok között. A séma- és adattípus-leképezésekkel kapcsolatos cikkből megtudhatja, hogyan leképezi a másolási tevékenység a forrássémát és az adattípust a fogadóra.

SAP HANA adattípus Ideiglenes szolgáltatás adattípusa
ALPHANUM Sztring
BIGINT Int64
BINÁRIS Bájt[]
BINTEXT (SZÖVEG) Sztring
BLOB Bájt[]
BOOL Bájt
CLOB Sztring
DATE DateTime
DECIMÁLIS Tizedesjegy
DUPLA Dupla
ÚSZÓ Dupla
EGÉSZ SZÁM Int32
NCLOB Sztring
NVARCHAR Sztring
VALÓS SZÁM Egyirányú
SECONDDATE (MÁSODPERCDÁTUM) DateTime
SHORTTEXT (RÖVID SZÖVEG) Sztring
SMALLDECIMAL Tizedesjegy
SMALLINT Int16
STGEOMETRYTYPE Bájt[]
STPOINTTYPE Bájt[]
TEXT Sztring
TIME időtartam
TINYINT Bájt
VARCHAR Sztring
IDŐBÉLYEGZŐ DateTime
VARBINARY (VÁLTOZÓ) Bájt[]

SAP HANA fogadó

Az SAP HANA-összekötő jelenleg nem támogatott fogadóként, míg általános ODBC-összekötőt használhat SAP HANA-illesztővel az adatoknak a SAP HANA.

Kövesse az Előfeltételek lépéseket a saját maga által üzemeltetett Integration Runtime és az ODBC-SAP HANA telepítéséhez. Hozzon létre egy ODBC-hez kapcsolódó szolgáltatást a SAP HANA-adattárhoz való csatlakozáshoz az alábbi példában látható módon, majd ennek megfelelően hozzon létre egy adatkészletet és egy másolási tevékenység fogadóját ODBC-típussal. További információ az ODBC-összekötőről.

{
    "name": "SAPHANAViaODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "Driver={HDBODBC};servernode=<HANA server>.clouddatahub-int.net:30015",
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Keresési tevékenység tulajdonságai

A tulajdonságokkal kapcsolatos részletekért tekintse meg a keresési tevékenységet.

Következő lépések

A másolási tevékenység által forrásként és fogadóként támogatott adattárak listáját lásd: támogatott adattárak.