Kopírování dat ze SAP HANA pomocí Azure Data Factory nebo 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í v kanálech Azure Data Factory a Synapse Analytics kopírovat data z databáze SAP HANA. Vychází z článku s přehledem aktivity kopírování, který představuje obecný přehled aktivity kopírování.

Tip

Další informace o celkové podpoře scénáře integrace dat SAP najdete v dokumentu white paper o integraci dat SAP s podrobným úvodem ke každému konektoru SAP, porovnání a doprovodným materiálům.

Podporované funkce

Tento konektor SAP HANA je podporovaný pro následující funkce:

Podporované funkce IR
aktivita Copy (zdroj/jímka)
Aktivita Lookup

(1) Prostředí Azure Integration Runtime (2) Místní prostředí Integration Runtime

Seznam úložišť dat podporovaných jako zdroje nebo jímky aktivitou kopírování najdete v tabulce Podporované úložiště dat.

Konkrétně tento konektor SAP HANA podporuje:

  • Kopírování dat z libovolné verze databáze SAP HANA
  • Kopírování dat z informačních modelů HANA (například zobrazení analýzy a výpočtů) a tabulek řádků a sloupců
  • Kopírování dat pomocí základního ověřování nebo ověřování systému Windows
  • Paralelní kopírování ze zdroje SAP HANA Podrobnosti najdete v části Paralelní kopírování ze sap HANA .

Tip

Pokud chcete kopírovat data do úložiště dat SAP HANA, použijte obecný konektor ODBC. Podrobnosti najdete v části jímky SAP HANA. Všimněte si, že propojené služby pro konektor SAP HANA a konektor ODBC mají jiný typ, a proto je nelze znovu použít.

Požadavky

Pokud chcete použít tento konektor SAP HANA, musíte:

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:

Vytvoření propojené služby pro SAP HANA pomocí uživatelského rozhraní

Pomocí následujícího postupu vytvořte propojenou službu se SAP HANA v uživatelském rozhraní webu Azure Portal.

  1. Přejděte na kartu Správa v pracovním prostoru Azure Data Factory nebo Synapse a vyberte Propojené služby a pak klikněte na Nový:

  2. Vyhledejte SAP a vyberte konektor SAP HANA.

    Screenshot of the SAP HANA connector.

  3. Nakonfigurujte podrobnosti o službě, otestujte připojení a vytvořte novou propojenou službu.

    Screenshot of linked service configuration for SAP HANA.

podrobnosti o konfiguraci Připojení oru

Následující části obsahují podrobnosti o vlastnostech, které slouží k definování entit služby Data Factory specifických pro konektor SAP HANA.

Vlastnosti propojené služby

Propojená služba SAP HANA podporuje následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu musí být nastavená na: SapHana. Ano
připojovací řetězec Zadejte informace potřebné pro připojení k SAP HANA pomocí základního ověřování nebo ověřování systému Windows. Projděte si následující ukázky.
V připojovací řetězec je server/port povinný (výchozí port je 30015) a uživatelské jméno a heslo je při použití základního ověřování povinné. Další upřesňující nastavení najdete v tématu Vlastnosti rozhraní ODBC SAP HANA Připojení
Můžete také vložit heslo do služby Azure Key Vault a přetáhnout konfiguraci hesla z připojovací řetězec. Další podrobnosti najdete v článku o ukládání přihlašovacích údajů ve službě Azure Key Vault .
Ano
userName Zadejte uživatelské jméno při použití ověřování systému Windows. Příklad: user@domain.com No
Heslo Zadejte heslo pro uživatelský účet. Označte toto pole jako securestring, abyste ho mohli bezpečně uložit, nebo odkazovat na tajný klíč uložený ve službě Azure Key Vault. No
connectVia Prostředí Integration Runtime , které se má použít pro připojení k úložišti dat. Vyžaduje se místní prostředí Integration Runtime, jak je uvedeno v požadavcích. Ano

Příklad: Použití základního ověřování

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

Příklad: Použití ověřování systému Windows

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

Pokud jste používali propojenou službu SAP HANA s následující datovou částí, je stále podporovaná tak, jak je, zatímco se navrhuje, abyste mohli použít novou.

Příklad:

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

Vlastnosti datové sady

Úplný seznam oddílů a vlastností dostupných pro definování datových sad najdete v článku o datových sadách . Tato část obsahuje seznam vlastností podporovaných datovou sadou SAP HANA.

Pokud chcete kopírovat data ze SAP HANA, podporují se následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu datové sady musí být nastavená na: SapHanaTable. Ano
schema Název schématu v databázi SAP HANA Ne (pokud je zadán dotaz ve zdroji aktivity)
table Název tabulky v databázi SAP HANA Ne (pokud je zadán dotaz ve zdroji aktivity)

Příklad:

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

Pokud jste používali RelationalTable zadaná datová sada, je stále podporovaná tak, jak je, zatímco se navrhuje, abyste mohli použít novou datovou sadu.

Vlastnosti aktivity kopírování

Úplný seznam oddílů a vlastností dostupných pro definování aktivit najdete v článku Pipelines . Tato část obsahuje seznam vlastností podporovaných zdrojem SAP HANA.

SAP HANA jako zdroj

Tip

Pokud chcete efektivně ingestovat data ze SAP HANA pomocí dělení dat, přečtěte si další informace o paralelním kopírování z oddílu SAP HANA .

Pokud chcete kopírovat data ze SAP HANA, podporují se v části zdroje aktivity kopírování následující vlastnosti:

Vlastnost Popis Povinní účastníci
type Vlastnost typu zdroje aktivity kopírování musí být nastavená na: SapHanaSource. Ano
query Určuje dotaz SQL pro čtení dat z instance SAP HANA. Ano
partitionOptions Určuje možnosti dělení dat používané k ingestování dat ze SAP HANA. Další informace o paralelním kopírování najdete v části SAP HANA .
Povolené hodnoty jsou: None (výchozí), PhysicalPartitionsOfTable, SapHanaDynamicRange. Další informace o paralelním kopírování najdete v části SAP HANA . PhysicalPartitionsOfTable lze použít pouze při kopírování dat z tabulky, ale nikoli dotazu.
Pokud je povolená možnost oddílu (to znamená ne None), stupeň paralelismu pro souběžné načítání dat ze SAP HANA se řídí parallelCopies nastavením aktivity kopírování.
False
oddíl Nastavení Zadejte skupinu nastavení pro dělení dat.
Použít, pokud je SapHanaDynamicRangemožnost oddílu .
False
partitionColumnName Zadejte název zdrojového sloupce, který bude oddíl používat pro paralelní kopírování. Pokud není zadaný, index nebo primární klíč tabulky se automaticky rozpozná a použije jako sloupec oddílu.
Použít, pokud je SapHanaDynamicRangemožnost oddílu . Pokud k načtení zdrojových dat použijete dotaz, připojte se ?AdfHanaDynamicRangePartitionCondition do klauzule WHERE. Viz příklad paralelního kopírování z oddílu SAP HANA .
Ano při použití SapHanaDynamicRange oddílu. 
packetSize Určuje velikost síťového paketu (v kilobajtech) pro rozdělení dat do více bloků. Pokud máte velké množství dat ke kopírování, zvětšení velikosti paketů může ve většině případů zvýšit rychlost čtení ze SAP HANA. Při úpravě velikosti paketu se doporučuje testování výkonu. Ne.
Výchozí hodnota je 2048 (2 MB).

Příklad:

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

Pokud jste používali RelationalSource typovaný zdroj kopírování, je stále podporovaný tak, jak je, zatímco se navrhuje používat nový zdroj.

Paralelní kopírování ze SAP HANA

Konektor SAP HANA poskytuje integrované dělení dat pro paralelní kopírování dat ze SAP HANA. Možnosti dělení dat najdete v tabulce Zdroj aktivity kopírování.

Screenshot of partition options

Když povolíte dělené kopírování, služba spustí paralelní dotazy na zdroj SAP HANA, aby načetla 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 současně 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ší SAP HANA.

Doporučujeme povolit paralelní kopírování s dělením dat, zejména pokud ingestujete velké množství dat ze sap HANA. 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 Možnost oddílu: Fyzické oddíly tabulky.

Během provádění služba automaticky rozpozná fyzický typ oddílu zadané tabulky SAP HANA a zvolí odpovídající strategii oddílu:
- Dělení rozsahu: Získejte sloupec oddílu a rozsahy oddílů definované pro tabulku a zkopírujte data podle rozsahu.
- Dělení hodnot hash: Jako sloupec oddílu použijte klíč hash oddílu, potom rozdělte a zkopírujte data na základě rozsahů vypočítaných službou.
- Dělení pomocí kruhového dotazování nebo Bez oddílu: Jako sloupec oddílu použijte primární klíč a potom rozdělte a zkopírujte data na základě rozsahů vypočítaných službou.
Načtěte velké množství dat pomocí vlastního dotazu. Možnost oddílu: Oddíl dynamického rozsahu
Dotaz: SELECT * FROM <TABLENAME> WHERE ?AdfHanaDynamicRangePartitionCondition AND <your_additional_where_clause>.
Sloupec oddílu: Zadejte sloupec použitý k použití oddílu dynamického rozsahu.

Během provádění služba nejprve vypočítá rozsahy hodnot zadaného sloupce oddílu rovnoměrně rozdělí řádky do několika kbelíků podle počtu jedinečných hodnot sloupců oddílů, které nastavení paralelního kopírování nahradí ?AdfHanaDynamicRangePartitionCondition filtrováním rozsahu hodnot sloupce oddílu pro každý oddíl a odešle se do SAP HANA.

Pokud chcete jako sloupec oddílu použít více sloupců, můžete zřetězení hodnot každého sloupce jako jednoho sloupce v dotazu a jeho zadání jako sloupce oddílu, například SELECT * FROM (SELECT *, CONCAT(<KeyColumn1>, <KeyColumn2>) AS PARTITIONCOLUMN FROM <TABLENAME>) WHERE ?AdfHanaDynamicRangePartitionCondition.

Příklad: Dotaz s fyzickými oddíly tabulky

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

Příklad: Dotaz s oddílem dynamického rozsahu

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

Mapování datových typů pro SAP HANA

Při kopírování dat ze SAP HANA se následující mapování používají z datových typů SAP HANA k dočasným datovým typům používaným interně 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 mapování schématu schématu a datového typu schématu schématu a datového typu.

Datový typ SAP HANA Dočasný datový typ služby
ALFANUM String
BIGINT Int64
BINÁRNÍ Bajt[]
BINTEXT String
BLOB Bajt[]
BOOL Byte
CLOB Řetězcové
DATE DateTime
DESETINNÝCH Desetinné
DVOJITÉ Hodnota s dvojitou přesností
FLOAT Hodnota s dvojitou přesností
CELÉ ČÍSLO Int32
NCLOB String
NVARCHAR String
SKUTEČNÉ Jeden
SECONDDATE DateTime
KRÁTKÝ TEXT String
SMALLDECIMAL Desetinné číslo
SMALLINT Int16
STGEOMETRYTYPE Bajt[]
STPOINTTYPE Bajt[]
TEXT String
TIME TimeSpan
TINYINT Byte
VARCHAR String
ČASOVÉ RAZÍTKO DateTime
VARBINARY Bajt[]

Jímka SAP HANA

Konektor SAP HANA se v současné době nepodporuje jako jímka, zatímco k zápisu dat do SAP HANA můžete použít obecný konektor ODBC s ovladačem SAP HANA.

Postupujte podle požadavků a nejprve nastavte místní prostředí Integration Runtime a nainstalujte ovladač SAP HANA ODBC. Vytvořte propojenou službu ODBC pro připojení k úložišti dat SAP HANA, jak je znázorněno v následujícím příkladu, a pak vytvořte datovou sadu a jímku aktivity kopírování s typem ODBC. Další informace najdete v článku o konektoru ODBC.

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

Vlastnosti aktivity vyhledávání

Podrobnosti o vlastnostech najdete v aktivitě Vyhledávání.

Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.