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) | (2) |
Aktivita Lookup | (2) |
(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:
- Nastavte místní prostředí Integration Runtime. Podrobnosti najdete v článku o místním prostředí Integration Runtime .
- Nainstalujte ovladač SAP HANA ODBC na počítač s prostředím Integration Runtime. Ovladač SAP HANA ODBC si můžete stáhnout z webu SAP Software Download Center. Vyhledejte klíčové slovo SAP HANA CLIENT pro Windows.
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 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.
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ý:
Vyhledejte SAP a vyberte konektor SAP HANA.
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 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 ve vlastnostech připojení ODBC SAP HANA. 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í. |
Falešný |
partitionSettings | Zadejte skupinu nastavení pro dělení dat. Použít, pokud je SapHanaDynamicRange možnost oddílu . |
Falešný |
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 SapHanaDynamicRange mož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í.
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Ý | Desetinné |
DVOJITÝ | Hodnota s dvojitou přesností |
FLOAT | Hodnota s dvojitou přesností |
CELÉ ČÍSLO | Int32 |
NCLOB | String |
NVARCHAR | String |
REÁLNÝ | 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í.
Související obsah
Seznam úložišť dat podporovaných jako zdroje a jímky aktivitou kopírování najdete v podporovaných úložištích dat.