Sdílet prostřednictvím


Konfigurace Teradata v aktivitě kopírování

Tento článek popisuje, jak pomocí aktivity kopírování v datovém toku kopírovat data z a do Teradata.

Podporovaná konfigurace

Nastavení každé záložky v rámci kopírovací aktivity naleznete v následujících oddílech.

Obecné

Pro konfiguraci karty Obecné přejděte na Obecné.

Zdroj

Návod

Pokud chcete efektivně načítat data z Teradata pomocí dělení dat, přečtěte si další informace z části Paralelní kopírování z části Teradata .

Následující vlastnosti jsou podporovány pro Teradata na kartě Zdroj kopírovací aktivity.

Snímek obrazovky zobrazující kartu zdroje a seznam vlastností

Jsou vyžadovány následující vlastnosti:

  • Připojení: Ze seznamu připojení vyberte připojení Teradata. Pokud žádné připojení neexistuje, vytvořte nové připojení Teradata.

  • Použít dotaz: Vyberte tabulku nebo dotaz.

    • Pokud vyberete tabulku:

      • Tabulka: Zadejte název tabulky v Teradata pro čtení dat. Vyberte tabulku z rozevíracího seznamu nebo ručně vyberte Enter a zadejte název schématu a tabulky.
    • Pokud vyberete dotazu:

      • dotaz: Zadejte vlastní dotaz SQL pro čtení dat.

        Snímek obrazovky znázorňující dotaz

V části Upřesnit můžete zadat následující pole:

  • Možnost oddílu: Určuje možnosti dělení dat používané k načtení dat z Teradata. Povolené hodnoty jsou: None (výchozí), DynamicRange a Hash. Pokud je povolená možnost oddílu (tj. ne None), stupeň paralelismu souběžného načítání dat z Teradata je řízen stupněm paralelismu kopírování na kartě nastavení aktivity kopírování.

    • Žádné: Toto nastavení vyberte, pokud nechcete oddíl používat.

    • dynamického rozsahu: Pokud používáte dotaz s povoleným paralelním zpracováním, je potřeba parametr oddílu rozsahu(?DfDynamicRangePartitionCondition). Ukázkový dotaz: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition.

      • Název sloupce oddílu: Zadejte název zdrojového sloupce v celočíselném nebo datovém/datumovém typu (int, smallint, bigint, date, smalldatetime, datetime, datetime2, nebo datetimeoffset), který se používá při rozsahovém dělení pro paralelní kopírování. Pokud není specifikován, index nebo primární klíč tabulky se automaticky detekuje a použije jako sloupec oddílu.

      • horní mez oddílu: Zadejte maximální hodnotu sloupce oddílu pro dělení rozsahu oddílu. Tato hodnota se používá k určení kroku dělení, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují.

      • Dolní mez oddílu: Zadejte minimální hodnotu pro rozdělení rozsahu sloupce oddílu. Tato hodnota se používá k určení kroku dělení, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují.

        Snímek obrazovky znázorňující dynamický rozsah

    • Hash: Při použití dotazu s povolenou paralelností je potřeba parametr hash oddílu (?AdfHashPartitionCondition). Ukázkový dotaz: select * from <TableName> where ?AdfHashPartitionCondition.

      • Název sloupce oddílu: Zadejte název zdrojového sloupce v celočíselném nebo datovém/datumovém typu (int, smallint, bigint, date, smalldatetime, datetime, datetime2, nebo datetimeoffset), který se používá při rozsahovém dělení pro paralelní kopírování. Pokud není specifikován, index nebo primární klíč tabulky se automaticky detekuje a použije jako sloupec oddílu.

        Snímek obrazovky zobrazující hash

  • Další sloupce: Přidejte další sloupce dat pro ukládání relativní cesty nebo statické hodnoty zdrojových souborů. Výraz je podporován pro druhý z uvedených.

Cíl

Následující vlastnosti jsou podporovány pro Teradata na kartě Cíl aktivity kopírování.

Snímek obrazovky znázorňující cílovou kartu

Jsou vyžadovány následující vlastnosti:

  • Připojení: Ze seznamu připojení vyberte připojení Teradata. Pokud žádné připojení neexistuje, vytvořte nové připojení Teradata.

  • Tabulka: Zadejte název tabulky v Teradata pro zápis dat. Vyberte tabulku z rozevíracího seznamu nebo ručně vyberte Enter a zadejte název schématu a tabulky.

V části Upřesnit můžete zadat následující pole:

  • Další možnosti formátu Teradata: Zadejte další možnosti formátu, které se použijí v příkazu COPY k načtení dat. Příklady: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Další informace naleznete v tématu Teradata DATE Format. Tato vlastnost funguje pouze pro přímé kopírování ze zdroje formátu DelimitedText do Teradata.

Přímé kopírování do Teradata

Pokud vaše zdrojové úložiště dat a formát splňují kritéria popsaná v této části, můžete aktivitu kopírování použít k přímému kopírování ze zdroje do Teradata. Služba zkontroluje nastavení a selže aktivita Copy spustit, pokud nejsou splněna následující kritéria:

  • Zdrojové připojení je Azure Blob Storage a Azure Data Lake Storage Gen2 s klíčem účtu a ověřováním pomocí sdíleného přístupového podpisu.

  • Formát zdrojových dat je Parquet a DelimitedText s následujícími konfiguracemi:

    • U formátu Parquet je kodek komprese None nebo Snappy.

    • Formát DelimitedText :

      • rowDelimiter je \n.
      • compression může být bez komprese nebo gzip. Pokud je vybrána komprese gzip , soubor musí končit příponou .gz.
      • encodingName je ponechán jako výchozí nebo je nastaven na UTF-8.
      • quoteChar je dvojitá uvozovka" nebo prázdný řetězec.
      • escapeChar je dvojitá uvozovka" nebo prázdný řetězec.
      • nullValue je Null nebo prázdný řetězec.
  • Ve zdroji aktivita Copy:

    • Při použití Azure Data Lake Storage Gen2 je povolená pouze statická cesta.
    • Pouze statická cesta a prefix je povolená při použití služby Azure Blob Storage.

    Statické cesty budou sloužit jako předpony při kopírování do Teradata.

Fázovaná kopie do Teradata

Pokud zdrojové úložiště dat nebo formát není nativně kompatibilní s příkazem Teradata COPY, jak je uvedeno v poslední části, povolte integrovanou fázovanou kopii pomocí dočasné instance služby Azure Blob Storage. Funkce fázovaného kopírování také poskytuje lepší propustnost. Služba automaticky převede data tak, aby splňovala požadavky na formát dat teradata. Potom vyvolá příkaz COPY, který načte data do Teradata. Nakonec vyčistí dočasná data z úložiště objektů blob.

Pokud chcete tuto funkci použít, vytvořte připojení azure Blob Storage , které odkazuje na účet úložiště Azure jako dočasné přípravné prostředí. Potom zadejte enableStaging vlastnosti a stagingSettings vlastnosti v aktivita Copy.

Poznámka:

Pracovní připojení služby Azure Blob Storage musí používat klíč účtu nebo ověřování pomocí sdíleného přístupového podpisu , jak to vyžaduje příkaz Teradata COPY.

Mapování

V části Konfigurace karty Mapovánípřejděte na Konfigurace mapování na kartě Mapování.

Nastavení

Pro konfiguraci záložky Nastavení přejděte na Upravit další nastavení v záložce Nastavení.

Paralelní kopírování z Teradata

Konektor Teradata poskytuje integrované dělení dat pro paralelní kopírování dat z Teradata. 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 váš zdroj Teradata, aby načetla data podle oddílů. Paralelní stupeň je řízen stupněm paralelismu kopírování na kartě nastavení aktivity kopírování. Pokud například nastavíte stupeň paralelismu kopírování na čtyři, služba souběžně generuje 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 teradata.

Doporučujeme povolit paralelní kopírování s dělením dat, zejména pokud načítáte velké množství dat z teradata. 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é získání dat z velké tabulky Možnost oddílu: Hodnota hash.

Během provádění služba automaticky rozpozná primární indexový sloupec, použije proti němu hodnotu hash a zkopíruje data podle oddílů.
Načtěte velké množství dat pomocí vlastního dotazu. Možnost oddílu: Hodnota hash.
Dotaz: SELECT * FROM <TABLENAME> WHERE ?AdfHashPartitionCondition AND <your_additional_where_clause>.
Sloupec oddílu: Zadejte sloupec použitý pro použití oddílu hash. Pokud není zadaný, služba automaticky rozpozná sloupec PK tabulky, kterou jste zadali v datech Teradata.

Během provádění služba nahradí ?AdfHashPartitionCondition logikou oddílu hash a odešle ji do Teradata.
Načtěte velké množství dat pomocí vlastního dotazu, který má celočíselnou hodnotu s rovnoměrně distribuovanou hodnotou pro dělení rozsahu. Možnosti oddílení: Dynamické oddílení rozsahu
Dotaz: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Partiční sloupec: Zadejte sloupec použitý k rozdělení dat. Proti sloupci s celočíselným datovým typem můžete provést rozdělení.
Horní mez oddílu a dolní mez oddílu: Určete, jestli chcete filtrovat podle sloupce oddílu, aby se načítala data pouze mezi dolním a horním rozsahem.

Během provádění služba nahradí ?AdfRangePartitionColumnNamea ?AdfRangePartitionUpboundza skutečný název sloupce a ?AdfRangePartitionLowbound rozsahy hodnot pro každý oddíl a odešle do Teradata.
Pokud je například sloupec oddílu "ID" nastavený s dolní mezí jako 1 a horní mez jako 80, s paralelním kopírováním nastaveným jako 4, služba načte data o 4 oddíly. Jejich ID jsou mezi [1,20], [21, 40], [41, 60] a [61, 80], v uvedeném pořadí.

Příklad: Dotaz s oddílem hash

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

Příklad: Dotaz s dynamickým rozsahovým dělením

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

Souhrn tabulky

Následující tabulky obsahují další informace o aktivitě kopírování v Teradata.

Informace o zdroji

Název Popis Hodnota Povinné Vlastnost skriptu JSON
Připojení Vaše připojení ke zdrojovému úložišti dat. < vaše připojení Teradata > Ano propojení
Použít dotaz Způsob čtení dat z Teradata Použití tabulky ke čtení dat ze zadané tabulky nebo použití dotazu ke čtení dat pomocí dotazů. Tabulka
dotaz
Ne /
Pro tabulku
název schématu Název schématu < název vašeho schématu > Ne schéma
název tabulky Název tabulky. < název tabulky > Ne tabulka
Pro dotaz
Dotaz Ke čtení dat použijte vlastní dotaz SQL. < Dotazy SQL > Ne dotaz
možnost oddílu Možnosti dělení dat používané k načtení dat z Teradata. Žádné
Dynamický rozsah
Hash
Ne /
Pro dynamický rozsah
název sloupce oddílu Zadejte název zdrojového sloupce v celočíselném čísle nebo typu date/datetime (int, smallint, bigintdate, smalldatetime, , datetime, datetime2nebo datetimeoffset), který se používá při dělení rozsahu pro paralelní kopírování.
Pokud není specifikován, index nebo primární klíč tabulky se automaticky detekuje a použije jako sloupec oddílu.
< vaše názvy sloupců oddílů > Ne název sloupce oddílu
horní mez oddílu Zadejte maximální hodnotu sloupce pro dělení rozsahu oddílů. Tato hodnota se používá k určení kroku dělení, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují. < horní mez oddílu > Ne partitionUpperBound
Dolní mez partice Zadejte minimální hodnotu sloupce oddílu pro rozdělení rozsahu oddílů. Tato hodnota se používá k určení kroku dělení, nikoli k filtrování řádků v tabulce. Všechny řádky v tabulce nebo výsledku dotazu se rozdělí a zkopírují. < vaše dolní mez oddílu > Ne partitionLowerBound
Pro Hash
název sloupce oddílu Zadejte název zdrojového sloupce v celočíselném čísle nebo typu date/datetime (int, smallint, bigintdate, smalldatetime, , datetime, datetime2nebo datetimeoffset), který se používá při dělení rozsahu pro paralelní kopírování.
Pokud není specifikován, index nebo primární klíč tabulky se automaticky detekuje a použije jako sloupec oddílu.
< vaše názvy sloupců oddílů > Ne název sloupce oddílu
Další sloupce Přidejte další datové sloupce pro ukládání relativní cesty ke zdrojovým souborům nebo statické hodnotě. Výraz je podporován pro druhý z uvedených. •Jméno
•Hodnota
Ne dodatečnéSloupce:
•Jméno
•hodnota

Informace o cíli

Název Popis Hodnota Povinné Vlastnost skriptu JSON
Připojení Vaše připojení k cílovému úložišti dat. < vaše připojení Teradata > Ano propojení
tabulka Tabulka dat cílového umístění pro zápis dat. < název tabulky > Ano /
název schématu Název schématu < název vašeho schématu > Ne schéma
název tabulky Název tabulky. < název tabulky > Ne tabulka
Další možnosti formátu Teradata Zadejte další možnosti formátu, které se použijí v příkazu COPY k načtení dat. Příklady: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Další informace naleznete v tématu Teradata DATE Format. Tato vlastnost funguje pouze pro přímé kopírování ze zdroje formátu DelimitedText do Teradata. • DATE_FORMAT
• FORMÁT_ČASU
• Formát časové značky
Ne dodatečnéMožnostiFormátování
• DATE_FORMAT
• FORMÁT_ČASU
• Formát časové značky