Azure Data Factory ve Synapse Analytics kullanarak Teradata Vantage'dan veri kopyalama

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Bu makalede, Teradata Vantage'dan veri kopyalamak için Azure Data Factory ve Synapse Analytics işlem hatlarındaki kopyalama etkinliğinin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine genel bakış üzerine inşa eder.

Desteklenen özellikler

Bu Teradata bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler IR
Kopyalama etkinliği (kaynak/-) ① ②
Arama etkinliği ① ②

(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı

Kopyalama etkinliği tarafından kaynak/havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.

Özellikle, bu Teradata bağlayıcısı şunları destekler:

  • Teradata sürüm 14.10, 15.0, 15.10, 16.0, 16.10 ve 16.20.
  • Temel, Windows veya LDAP kimlik doğrulamasını kullanarak verileri kopyalama.
  • Teradata kaynağından paralel kopyalama. Ayrıntılar için Teradata'dan paralel kopyalama bölümüne bakın.

Önkoşullar

Veri deponuz bir şirket içi ağ, Azure sanal ağı veya Amazon Sanal Özel Bulut içinde bulunuyorsa, şirket içinde barındırılan tümleştirme çalışma zamanını buna bağlanmak için yapılandırmanız gerekir.

Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime'ı kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa Azure Integration Runtime IP'lerini izin verme listesine ekleyebilirsiniz.

Şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan şirket içi ağa erişmek için Azure Data Factory'deki yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.

Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz . Veri erişim stratejileri.

Şirket İçinde Barındırılan Integration Runtime kullanıyorsanız, 3.18 sürümünden itibaren yerleşik bir Teradata sürücüsü sağladığını unutmayın. Herhangi bir sürücüyü el ile yüklemeniz gerekmez. Sürücü, şirket içinde barındırılan tümleştirme çalışma zamanı makinesinde "Visual C++ Yeniden Dağıtılabilir 2012 Güncelleştirme 4" gerektirir. Henüz yüklemediyseniz buradan indirin.

Başlarken

İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:

Kullanıcı arabirimini kullanarak Teradata'ya bağlı hizmet oluşturma

Azure portalı kullanıcı arabiriminde Teradata'ya bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:

  2. Teradata araması yapın ve Teradata bağlayıcısını seçin.

    Select the Teradata connector.

  3. Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    Configure a linked service to Teradata.

Bağlan veya yapılandırma ayrıntıları

Aşağıdaki bölümlerde, Teradata bağlayıcısına özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.

Bağlı hizmet özellikleri

Teradata bağlı hizmeti aşağıdaki özellikleri destekler:

Özellik Açıklama Gerekli
type type özelliği Teradata olarak ayarlanmalıdır. Evet
Connectionstring Teradata örneğine bağlanmak için gereken bilgileri belirtir. Aşağıdaki örneklere bakın.
Ayrıca Azure Key Vault'a parola ekleyebilir ve yapılandırmayı password bağlantı dizesi çıkarabilirsiniz. Diğer ayrıntılarla birlikte Azure Key Vault'ta kimlik bilgilerini depolama bölümüne bakın.
Evet
username Teradata'ya bağlanmak için bir kullanıcı adı belirtin. Windows kimlik doğrulaması kullanırken geçerlidir. No
password Kullanıcı adı için belirttiğiniz kullanıcı hesabı için bir parola belirtin. Azure Key Vault'ta depolanan bir gizli diziye başvurmayı da seçebilirsiniz.
Windows kimlik doğrulaması kullanırken veya temel kimlik doğrulaması için Key Vault'ta bir parolaya başvururken geçerlidir.
No
connectVia Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime'ı kullanır. No

Servis talebinize göre bağlantı dizesi olarak ayarlayabileceğiniz diğer bağlantı özellikleri:

Özellik Description Default value
TdmstPortNumber Teradata veritabanına erişmek için kullanılan bağlantı noktasının sayısı.
Teknik Destek tarafından yönerge verilmediği sürece bu değeri değiştirmeyin.
1025
UseDataEncryption Teradata veritabanıyla tüm iletişimin şifrelenip şifrelmeyeceğini belirtir. İzin verilen değerler 0 veya 1'tir.

- 0 (devre dışı, varsayılan): Yalnızca kimlik doğrulama bilgilerini şifreler.
- 1 (etkin): Sürücü ile veritabanı arasında geçirilen tüm verileri şifreler.
0
Characterset Oturum için kullanılacak karakter kümesi. Örneğin, CharacterSet=UTF16.

Bu değer kullanıcı tanımlı bir karakter kümesi veya aşağıdaki önceden tanımlanmış karakter kümelerinden biri olabilir:
-ASCII
- UTF8
- UTF16
- LATIN1252_0A
- LATIN9_0A
- LATIN1_0A
- Shift-JIS (Windows, DOS uyumlu, KANJISJIS_0S)
- EUC (Unix uyumlu, 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 SQL istekleri için yanıt arabelleğinin kilobayt (KB) cinsinden en büyük boyutu. Örneğin, MaxRespSize=‭10485760‬.

Teradata Veritabanı sürüm 16.00 veya üzeri için en yüksek değer 7361536. Önceki sürümleri kullanan bağlantılar için en yüksek değer 1048576.
65536
MechanismName Bağlantının kimliğini doğrulamak için LDAP protokolunu kullanmak için belirtin MechanismName=LDAP. Yok

Temel kimlik doğrulaması kullanma örneği

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

Windows kimlik doğrulaması kullanma örneği

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

LDAP kimlik doğrulaması kullanma örneği

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

Dekont

Aşağıdaki yük hala desteklenmektedir. Ancak bundan sonra yenisini kullanmanız gerekir.

Önceki yük:

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

Veri kümesi özellikleri

Bu bölümde, Teradata veri kümesi tarafından desteklenen özelliklerin listesi sağlanır. Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için bkz . Veri kümeleri.

Teradata'dan veri kopyalamak için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Veri kümesinin tür özelliği olarak TeradataTableayarlanmalıdır. Evet
database Teradata örneğinin adı. Hayır (etkinlik kaynağında "sorgu" belirtilirse)
table Teradata örneğindeki tablonun adı. Hayır (etkinlik kaynağında "sorgu" belirtilirse)

Örnek:

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

Dekont

RelationalTable tür veri kümesi hala desteklenmektedir. Ancak, yeni veri kümesini kullanmanızı öneririz.

Önceki yük:

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

Kopyalama etkinliğinin özellikleri

Bu bölümde, Teradata kaynağı tarafından desteklenen özelliklerin listesi sağlanır. Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için bkz . İşlem hatları.

Kaynak olarak Teradata

Bahşiş

Veri bölümlemeyi kullanarak Teradata'dan verileri verimli bir şekilde yüklemek için Teradata'dan paralel kopyalama bölümünden daha fazla bilgi edinin.

Teradata'dan veri kopyalamak için kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type Kopyalama etkinliği kaynağının type özelliği olarak TeradataSourceayarlanmalıdır. Evet
query Verileri okumak için özel SQL sorgusunu kullanın. "SELECT * FROM MyTable" bunun bir örneğidir.
Bölümlenmiş yükü etkinleştirdiğinizde, sorgunuzda ilgili yerleşik bölüm parametrelerini bağlamanız gerekir. Örnekler için Teradata'dan paralel kopyalama bölümüne bakın.
Hayır (veri kümesindeki tablo belirtilmişse)
partitionOptions Teradata'dan veri yüklemek için kullanılan veri bölümleme seçeneklerini belirtir.
İzin ver değerleri şunlardır: Yok (varsayılan), Karma ve DynamicRange.
Bir bölüm seçeneği etkinleştirildiğinde (yani değil None), Teradata'dan verileri eşzamanlı olarak yüklemek için paralellik derecesi kopyalama etkinliğindeki parallelCopies ayar tarafından denetlenmektedir.
No
bölüm Ayarlar Veri bölümleme ayarlarının grubunu belirtin.
Bölüm seçeneği olmadığında Noneuygula seçeneği.
No
partitionColumnName Paralel kopyalama için aralık bölümü veya Karma bölümü tarafından kullanılacak kaynak sütunun adını belirtin. Belirtilmezse, tablonun birincil dizini otomatik olarak algılanır ve bölüm sütunu olarak kullanılır.
Bölüm seçeneği veya DynamicRangeolduğunda Hash uygulayın. Kaynak verileri almak için bir sorgu kullanırsanız, kanca ?AdfHashPartitionCondition veya ?AdfRangePartitionColumnName WHERE yan tümcesinde. Teradata'dan paralel kopyalama bölümündeki örne bakın.
No
partitionUpperBound Verileri kopyalamak için bölüm sütununun en yüksek değeri.
Bölüm seçeneği olduğunda uygula seçeneğidir DynamicRange. Kaynak verileri almak için sorgu kullanırsanız WHERE yan tümcesine bağlanın ?AdfRangePartitionUpbound . Bir örnek için Teradata'dan paralel kopyalama bölümüne bakın.
No
partitionLowerBound Verileri kopyalamak için bölüm sütununun en düşük değeri.
Bölüm seçeneği olduğunda DynamicRangeuygulayın. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?AdfRangePartitionLowbound . Bir örnek için Teradata'dan paralel kopyalama bölümüne bakın.
No

Dekont

RelationalSource tür kopyalama kaynağı hala desteklenir, ancak Teradata'dan yeni yerleşik paralel yükü (bölüm seçenekleri) desteklemez. Ancak, yeni veri kümesini kullanmanızı öneririz.

Örnek: Bölümleme olmadan temel bir sorgu kullanarak verileri kopyalama

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

Teradata'dan paralel kopyalama

Teradata bağlayıcısı, Teradata'dan paralel olarak veri kopyalamak için yerleşik veri bölümleme sağlar. Veri bölümleme seçeneklerini kopyalama etkinliğinin Kaynak tablosunda bulabilirsiniz.

Screenshot of partition options

Bölümlenmiş kopyalamayı etkinleştirdiğinizde hizmet, bölümlere göre veri yüklemek için Teradata kaynağınızda paralel sorgular çalıştırır. Paralel derece, kopyalama etkinliğindeki parallelCopies ayar tarafından denetlenilir. Örneğin, dört olarak ayarlarsanız parallelCopies , hizmet aynı anda belirtilen bölüm seçeneğinize ve ayarlarınıza göre dört sorgu oluşturur ve çalıştırır ve her sorgu Teradata'nızdan verilerin bir bölümünü alır.

Özellikle Teradata'nızdan büyük miktarda veri yüklediğinizde veri bölümleme ile paralel kopyalamayı etkinleştirmeniz önerilir. Farklı senaryolar için önerilen yapılandırmalar aşağıdadır. Verileri dosya tabanlı veri deposuna kopyalarken, bir klasöre birden çok dosya olarak yazmanız önerilir (yalnızca klasör adını belirtin), bu durumda performans tek bir dosyaya yazmaktan daha iyidir.

Senaryo Önerilen ayarlar
Büyük tablodan tam yük. Bölüm seçeneği: Karma.

Yürütme sırasında hizmet birincil dizin sütununu otomatik olarak algılar, buna bir karma uygular ve bölümlere göre verileri kopyalar.
Özel sorgu kullanarak büyük miktarda veri yükleyin. Bölüm seçeneği: Karma.
Sorgu: SELECT * FROM <TABLENAME> WHERE ?AdfHashPartitionCondition AND <your_additional_where_clause>.
Bölüm sütunu: Karma bölüm uygulamak için kullanılan sütunu belirtin. Belirtilmezse, hizmet Teradata veri kümesinde belirttiğiniz tablonun PK sütununu otomatik olarak algılar.

Yürütme sırasında hizmeti karma bölüm mantığıyla değiştirir ?AdfHashPartitionCondition ve Teradata'ya gönderir.
Özel bir sorgu kullanarak, aralık bölümleme için eşit dağıtılmış değere sahip bir tamsayı sütununa sahip olarak büyük miktarda veri yükleyin. Bölüm seçenekleri: Dinamik aralık bölümü.
Sorgu: SELECT * FROM <TABLENAME> WHERE ?AdfRangePartitionColumnName <= ?AdfRangePartitionUpbound AND ?AdfRangePartitionColumnName >= ?AdfRangePartitionLowbound AND <your_additional_where_clause>.
Bölüm sütunu: Verileri bölümleme için kullanılan sütunu belirtin. Tamsayı veri türüne sahip sütuna göre bölümleyebilirsiniz.
Bölüm üst sınırı ve bölüm alt sınırı: Yalnızca alt ve üst aralık arasındaki verileri almak için bölüm sütununa göre filtrelemek isteyip istemediğinizi belirtin.

Yürütme sırasında, hizmet , ?AdfRangePartitionUpboundve ?AdfRangePartitionLowbound yerine ?AdfRangePartitionColumnNameher bölüm için gerçek sütun adı ve değer aralıklarını ekler ve Teradata'ya gönderir.
Örneğin, bölüm sütununuz "ID" alt sınır 1, üst sınır ise 80 olarak ayarlandıysa ve paralel kopya 4 olarak ayarlandıysa, hizmet verileri 4 bölüme göre alır. Kimlikleri sırasıyla [1,20], [21, 40], [41, 60] ve [61, 80] arasındadır.

Örnek: karma bölümlü sorgu

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

Örnek: dinamik aralık bölümü olan sorgu

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

Teradata için veri türü eşlemesi

Teradata'dan veri kopyaladığınızda, aşağıdaki eşlemeler Teradata'nın veri türlerinden hizmet tarafından kullanılan iç veri türlerine uygulanır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri.

Teradata veri türü Ara hizmet veri türü
BigInt Int64
Blob Bayt[]
Bayt Bayt[]
ByteInt Int16
Char String
Clob String
Date DateTime
Decimal Decimal
Çift Çift
Grafik Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Tamsayı Int32
Aralık Günü Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Günü - Saat Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Günü - Dakika Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Günü - Saniye Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Saati Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Saati - Dakika Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Saati - Saniye Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Dakikası Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Dakikası - Saniye Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Ayı Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Saniye Aralığı Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Yılı Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Aralık Yılı - Ay Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Sayı Çift
Dönem (Tarih) Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Dönem (Saat) Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Dönem (Saat Dilimi olan Saat) Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Dönem (Zaman Damgası) Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Nokta (Saat Dilimi ile Zaman Damgası) Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Smallint Int16
Zaman TimeSpan
Saat Dilimine Sahip Saat TimeSpan
Zaman damgası DateTime
Saat Dilimi ile Zaman Damgası DateTime
VarByte Bayt[]
Varchar String
Vargraphıc Desteklenmiyor. Kaynak sorguda açık atama uygulayın.
Xml Desteklenmiyor. Kaynak sorguda açık atama uygulayın.

Arama etkinliği özellikleri

Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.

Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . Desteklenen veri depoları.