Share via


Gegevens kopiëren uit Teradata Vantage met behulp van Azure Data Factory en Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u de kopieeractiviteit in Azure Data Factory- en Synapse Analytics-pijplijnen gebruikt om gegevens te kopiëren uit Teradata Vantage. Het is gebaseerd op het overzicht van de kopieeractiviteit.

Ondersteunde mogelijkheden

Deze Teradata-connector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR
Copy-activiteit (bron/-) (1) (2)
Activiteit Lookup (1) (2)

(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime

Zie de tabel Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen/sinks door de kopieeractiviteit.

Deze Teradata-connector ondersteunt met name:

  • Teradata versie 14.10, 15.0, 15.10, 16.0, 16.10 en 16.20.
  • Gegevens kopiëren met behulp van Basic-, Windows- of LDAP-verificatie .
  • Parallel kopiëren vanuit een Teradata-bron. Zie de sectie Parallel kopiëren uit Teradata voor meer informatie.

Vereisten

Als uw gegevensarchief zich in een on-premises netwerk, een virtueel Azure-netwerk of een virtuele particuliere cloud van Amazon bevindt, moet u een zelf-hostende Integration Runtime configureren om er verbinding mee te maken.

Als uw gegevensarchief een beheerde cloudgegevensservice is, kunt u De Azure Integration Runtime gebruiken. Als de toegang is beperkt tot IP-adressen die zijn goedgekeurd in de firewallregels, kunt u IP-adressen van Azure Integration Runtime toevoegen aan de acceptatielijst.

U kunt ook de beheerde functie voor integratieruntime voor virtuele netwerken in Azure Data Factory gebruiken om toegang te krijgen tot het on-premises netwerk zonder een zelf-hostende Integration Runtime te installeren en te configureren.

Zie Strategieën voor gegevenstoegang voor meer informatie over de netwerkbeveiligingsmechanismen en -opties die door Data Factory worden ondersteund.

Als u zelf-hostende Integration Runtime gebruikt, moet u er rekening mee houden dat het een ingebouwd Teradata-stuurprogramma biedt vanaf versie 3.18. U hoeft geen stuurprogramma handmatig te installeren. Voor het stuurprogramma is Visual C++ Redistributable 2012 Update 4 vereist op de zelf-hostende Integration Runtime-machine. Als u deze nog niet hebt geïnstalleerd, downloadt u deze hier.

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde service maken voor Teradata met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde service te maken voor Teradata in de gebruikersinterface van Azure Portal.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:

  2. Zoek naar Teradata en selecteer de Teradata-connector.

    Selecteer de Teradata-connector.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Configureer een gekoppelde service voor Teradata.

Configuratiedetails van connector

De volgende secties bevatten details over eigenschappen die worden gebruikt voor het definiëren van Data Factory-entiteiten die specifiek zijn voor de Teradata-connector.

Eigenschappen van gekoppelde service

De gekoppelde Teradata-service ondersteunt de volgende eigenschappen:

Eigenschappen Beschrijving Vereist
type De typeeigenschap moet worden ingesteld op Teradata. Ja
connectionString Hiermee geeft u de informatie op die nodig is om verbinding te maken met het Teradata-exemplaar. Raadpleeg de volgende voorbeelden.
U kunt ook een wachtwoord in Azure Key Vault plaatsen en de password configuratie uit de verbindingsreeks halen. Raadpleeg De referenties van de Store in Azure Key Vault met meer informatie.
Ja
gebruikersnaam Geef een gebruikersnaam op om verbinding te maken met Teradata. Is van toepassing wanneer u Windows-verificatie gebruikt. Nee
password Geef een wachtwoord op voor het gebruikersaccount dat u hebt opgegeven voor de gebruikersnaam. U kunt er ook voor kiezen om te verwijzen naar een geheim dat is opgeslagen in Azure Key Vault.
Is van toepassing wanneer u Windows-verificatie gebruikt of verwijst naar een wachtwoord in Key Vault voor basisverificatie.
Nee
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. Meer informatie vindt u in de sectie Vereisten . Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Meer verbindingseigenschappen die u kunt instellen in verbindingsreeks per geval:

Eigenschappen Beschrijving Default value
TdmstPortNumber Het nummer van de poort die wordt gebruikt voor toegang tot de Teradata-database.
Wijzig deze waarde niet, tenzij hiervoor wordt aangegeven door technische ondersteuning.
1025
UseDataEncryption Hiermee geeft u op of alle communicatie met de Teradata-database moet worden versleuteld. Toegestane waarden zijn 0 of 1.

- 0 (uitgeschakeld, standaard): versleutelt alleen verificatiegegevens.
- 1 (ingeschakeld): versleutelt alle gegevens die worden doorgegeven tussen het stuurprogramma en de database.
0
CharacterSet De tekenset die moet worden gebruikt voor de sessie. CharacterSet=UTF16Bijvoorbeeld.

Deze waarde kan een door de gebruiker gedefinieerde tekenset zijn of een van de volgende vooraf gedefinieerde tekensets:
-ASCII
- UTF8
- UTF16
- LATIN1252_0A
- LATIN9_0A
- LATIN1_0A
- Shift-JIS (Windows, DOS compatibel, KANJISJIS_0S)
- EUC (Unix-compatibel, KANJIEC_0U)
- IBM Mainframe (KANJIEBCDIC5035_0I)
- KANJI932_1S0
- BIG5 (TCHBIG5_1R0)
- GB (SCHGB2312_1T0)
- SCHINESE936_6R0
- TCHINESE950_8R0
- NetworkKorean (HANGULKSC5601_2R4)
- HANGUL949_7R0
- ARABIC1256_6A0
- CYRILLIC1251_2A0
- HEBREW1255_5A0
- LATIN1250_1A0
- LATIN1254_7A0
- LATIN1258_8A0
- THAI874_4A0
ASCII
MaxRespSize De maximale grootte van de reactiebuffer voor SQL-aanvragen, in kilobytes (KB's). MaxRespSize=‭10485760‬Bijvoorbeeld.

Voor Teradata Database versie 16.00 of hoger is de maximumwaarde 7361536. Voor verbindingen die eerdere versies gebruiken, is de maximumwaarde 1048576.
65536
MechanismName Als u het LDAP-protocol wilt gebruiken om de verbinding te verifiëren, geeft u MechanismName=LDAPop. N.v.t.

Voorbeeld van basisverificatie

{
    "name": "TeradataLinkedService",
    "properties": {
        "type": "Teradata",
        "typeProperties": {
            "connectionString": "DBCName=<server>;Uid=<username>;Pwd=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Voorbeeld van Windows-verificatie

{
    "name": "TeradataLinkedService",
    "properties": {
        "type": "Teradata",
        "typeProperties": {
            "connectionString": "DBCName=<server>",
            "username": "<username>",
            "password": "<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Voorbeeld van LDAP-verificatie

{
    "name": "TeradataLinkedService",
    "properties": {
        "type": "Teradata",
        "typeProperties": {
            "connectionString": "DBCName=<server>;MechanismName=LDAP;Uid=<username>;Pwd=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Notitie

De volgende nettolading wordt nog steeds ondersteund. In de toekomst moet u echter de nieuwe gebruiken.

Vorige nettolading:

{
    "name": "TeradataLinkedService",
    "properties": {
        "type": "Teradata",
        "typeProperties": {
            "server": "<server>",
            "authenticationType": "<Basic/Windows>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Eigenschappen van gegevensset

Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de Teradata-gegevensset. Zie Gegevenssets voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets.

Als u gegevens uit Teradata wilt kopiëren, worden de volgende eigenschappen ondersteund:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op TeradataTable. Ja
database De naam van het Teradata-exemplaar. Nee (als 'query' in de activiteitsbron is opgegeven)
table De naam van de tabel in het Teradata-exemplaar. Nee (als 'query' in de activiteitsbron is opgegeven)

Voorbeeld:

{
    "name": "TeradataDataset",
    "properties": {
        "type": "TeradataTable",
        "typeProperties": {},
        "schema": [],        
        "linkedServiceName": {
            "referenceName": "<Teradata linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Notitie

RelationalTable type gegevensset wordt nog steeds ondersteund. U wordt echter aangeraden de nieuwe gegevensset te gebruiken.

Vorige nettolading:

{
    "name": "TeradataDataset",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": {
            "referenceName": "<Teradata linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {}
    }
}

Eigenschappen van de kopieeractiviteit

Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de Teradata-bron. Zie Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten.

Teradata als bron

Tip

Als u gegevens efficiënt wilt laden vanuit Teradata met behulp van gegevenspartitionering, vindt u meer informatie in de sectie Parallel kopiëren uit Teradata .

Als u gegevens uit Teradata wilt kopiëren, worden de volgende eigenschappen ondersteund in de sectie bron van de kopieeractiviteit:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op TeradataSource. Ja
query Gebruik de aangepaste SQL-query om gegevens te lezen. Een voorbeeld is "SELECT * FROM MyTable".
Wanneer u gepartitioneerde belasting inschakelt, moet u eventuele bijbehorende ingebouwde partitieparameters in uw query koppelen. Zie de sectie Parallel kopiëren uit Teradata voor voorbeelden.
Nee (als tabel in de gegevensset is opgegeven)
partitionOptions Hiermee geeft u de opties voor gegevenspartitionering op die worden gebruikt voor het laden van gegevens uit Teradata.
Toegestane waarden zijn: Geen (standaard), Hash en DynamicRange.
Wanneer een partitieoptie is ingeschakeld (dat wil niet None), wordt de mate van parallelle uitvoering om gegevens uit Teradata gelijktijdig te laden, bepaald door de parallelCopies instelling voor de kopieeractiviteit.
Nee
partitionSettings Geef de groep van de instellingen voor gegevenspartitionering op.
Toepassen wanneer de partitieoptie niet Noneis.
Nee
partitionColumnName Geef de naam op van de bronkolom die wordt gebruikt door bereikpartitie of Hash-partitie voor parallelle kopie. Als deze niet is opgegeven, wordt de primaire index van de tabel automatisch gedetecteerd en gebruikt als de partitiekolom.
Toepassen wanneer de partitieoptie is Hash of DynamicRange. Als u een query gebruikt om de brongegevens op te halen, hook ?AdfHashPartitionCondition of ?AdfRangePartitionColumnName in WHERE-component. Zie het voorbeeld in de sectie Parallel kopiëren uit Teradata .
Nee
partitionUpperBound De maximale waarde van de partitiekolom om gegevens te kopiëren.
Toepassen wanneer de partitieoptie is DynamicRange. Als u een query gebruikt om brongegevens op te halen, koppelt ?AdfRangePartitionUpbound u deze in de WHERE-component. Zie de sectie Parallel kopiëren uit Teradata voor een voorbeeld.
Nee
partitionLowerBound De minimale waarde van de partitiekolom om gegevens te kopiëren.
Toepassen wanneer de partitieoptie is DynamicRange. Als u een query gebruikt om de brongegevens op te halen, koppelt u deze ?AdfRangePartitionLowbound aan de WHERE-component. Zie de sectie Parallel kopiëren uit Teradata voor een voorbeeld.
Nr.

Notitie

RelationalSource type kopieerbron wordt nog steeds ondersteund, maar biedt geen ondersteuning voor de nieuwe ingebouwde parallelle belasting van Teradata (partitieopties). U wordt echter aangeraden de nieuwe gegevensset te gebruiken.

Voorbeeld: gegevens kopiëren met behulp van een eenvoudige query zonder partitie

"activities":[
    {
        "name": "CopyFromTeradata",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Teradata input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "TeradataSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Parallelle kopie van Teradata

De Teradata-connector biedt ingebouwde gegevenspartitionering om gegevens uit Teradata parallel te kopiëren. U vindt opties voor gegevenspartitionering in de brontabel van de kopieeractiviteit.

Schermopname van partitieopties

Wanneer u gepartitioneerde kopieën inschakelt, voert de service parallelle query's uit op uw Teradata-bron om gegevens te laden op partities. De parallelle graad wordt bepaald door de parallelCopies instelling voor de kopieeractiviteit. Als u bijvoorbeeld instelt op parallelCopies vier, genereert de service gelijktijdig vier query's en voert deze uit op basis van de opgegeven partitieoptie en -instellingen en haalt elke query een deel van de gegevens op uit uw Teradata.

U wordt aangeraden om parallel kopiëren met gegevenspartitionering in te schakelen, met name wanneer u grote hoeveelheden gegevens uit uw Teradata laadt. Hier volgen voorgestelde configuraties voor verschillende scenario's. Wanneer u gegevens kopieert naar een bestandsgegevensarchief, is het raadzaam om naar een map te schrijven als meerdere bestanden (alleen mapnaam opgeven), in welk geval de prestaties beter zijn dan schrijven naar één bestand.

Scenario Voorgestelde instellingen
Volledige belasting van grote tabel. Partitieoptie: Hash.

Tijdens de uitvoering detecteert de service automatisch de primaire indexkolom, past er een hash op toe en kopieert de gegevens per partitie.
Laad een grote hoeveelheid gegevens met behulp van een aangepaste query. Partitieoptie: Hash.
Query: SELECT * FROM <TABLENAME> WHERE ?AdfHashPartitionCondition AND <your_additional_where_clause>.
Partitiekolom: Geef de kolom op die wordt gebruikt voor het toepassen van een hash-partitie. Als dit niet is opgegeven, detecteert de service automatisch de PK-kolom van de tabel die u hebt opgegeven in de Teradata-gegevensset.

Tijdens de uitvoering wordt de service vervangen door ?AdfHashPartitionCondition de hashpartitielogica en verzonden naar Teradata.
Laad een grote hoeveelheid gegevens met behulp van een aangepaste query, met een kolom met een geheel getal met gelijkmatig verdeelde waarde voor bereikpartitionering. Partitieopties: partitie dynamisch bereik.
Query: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Partitiekolom: Geef de kolom op die wordt gebruikt om gegevens te partitioneren. U kunt partitioneren op basis van de kolom met een gegevenstype geheel getal.
Bovengrens en partitieondergrens partitioneren: geef op of u wilt filteren op basis van de partitiekolom om alleen gegevens op te halen tussen het onderste en bovenste bereik.

Tijdens de uitvoering vervangt ?AdfRangePartitionColumnNamede service, ?AdfRangePartitionUpbounden ?AdfRangePartitionLowbound door de werkelijke kolomnaam en waardebereiken voor elke partitie en verzendt deze naar Teradata.
Als de partitiekolom 'ID' bijvoorbeeld is ingesteld met de ondergrens 1 en de bovengrens als 80, waarbij parallelle kopie is ingesteld als 4, haalt de service gegevens op met 4 partities. Hun id's liggen tussen [1.20], [21, 40], [41, 60] en [61, 80], respectievelijk.

Voorbeeld: query met hashpartitie

"source": {
    "type": "TeradataSource",
    "query": "SELECT * FROM <TABLENAME> WHERE ?AdfHashPartitionCondition AND <your_additional_where_clause>",
    "partitionOption": "Hash",
    "partitionSettings": {
        "partitionColumnName": "<hash_partition_column_name>"
    }
}

Voorbeeld: query met partitie dynamisch bereik

"source": {
    "type": "TeradataSource",
    "query": "SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<dynamic_range_partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column>",
        "partitionLowerBound": "<lower_value_of_partition_column>"
    }
}

Toewijzing van gegevenstypen voor Teradata

Wanneer u gegevens kopieert uit Teradata, zijn de volgende toewijzingen van de gegevenstypen van Teradata van toepassing op de interne gegevenstypen die door de service worden gebruikt. Zie Schema- en gegevenstypetoewijzingen voor meer informatie over hoe de kopieeractiviteit het bronschema en het gegevenstype toewijst aan de sink.

Teradata-gegevenstype Tussentijdse servicegegevenstype
BigInt Int64
Blob Byte[]
Byte Byte[]
ByteInt Int16
Char String
Clob String
Datum Datum en tijd
Decimal Decimal
Dubbel Dubbel
Grafisch Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Geheel getal Int32
Intervaldag Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Intervaldag tot uur Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Intervaldag tot minuut Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Intervaldag tot seconde Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Intervaluur Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Interval van uur tot minuut Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Interval van uur tot seconde Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Intervalminut Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Interval van minuut tot seconde Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Intervalmaand Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Interval seconde Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Intervaljaar Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Intervaljaar tot maand Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Aantal Dubbel
Periode (datum) Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Periode (tijd) Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Periode (tijd met tijdzone) Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Periode (tijdstempel) Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Periode (tijdstempel met tijdzone) Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
SmallInt Int16
Tijd TimeSpan
Tijd met tijdzone TimeSpan
Tijdstempel Datum en tijd
Tijdstempel met tijdzone Datum en tijd
VarByte Byte[]
VarChar String
VarGraphic Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.
Xml Wordt niet ondersteund. Expliciete cast toepassen in de bronquery.

Eigenschappen van opzoekactiviteit

Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.

Zie Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen en sinks door de kopieeractiviteit.