Azure Data Factory ve Synapse Analytics kullanarak Teradata Vantage'dan veri kopyalama
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
İpucu
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/-) | (1) (2) |
Arama etkinliği | (1) (2) |
(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:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The REST API
- Azure Resource Manager şablonu
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.
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:
Teradata araması yapın ve Teradata bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı 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 |
---|---|---|
Tür | type özelliği Teradata olarak ayarlanmalıdır. | Yes |
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. |
Yes |
username | Teradata'ya bağlanmak için bir kullanıcı adı belirtin. Windows kimlik doğrulaması kullanırken geçerlidir. | Hayır |
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. |
Hayır |
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. | Hayır |
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"
}
}
}
Not
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 |
---|---|---|
Tür | Veri kümesinin tür özelliği olarak TeradataTable ayarlanmalıdır. |
Yes |
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"
}
}
}
Not
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
İpucu
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 |
---|---|---|
Tür | Kopyalama etkinliği kaynağının type özelliği olarak TeradataSource ayarlanmalıdır. |
Yes |
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. |
Hayır |
partitionSettings | Veri bölümleme ayarlarının grubunu belirtin. Bölüm seçeneği olmadığında None uygula seçeneği. |
Hayır |
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 DynamicRange olduğ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. |
Hayır |
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. |
Hayır |
partitionLowerBound | Verileri kopyalamak için bölüm sütununun en düşük değeri. Bölüm seçeneği olduğunda DynamicRange uygulayı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. |
Hayır |
Not
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.
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 , ?AdfRangePartitionUpbound ve ?AdfRangePartitionLowbound yerine ?AdfRangePartitionColumnName her 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 |
Tarih | 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 |
Saat | TimeSpan |
Saat Dilimine Sahip Saat | TimeSpan |
Zaman damgası | DateTime |
Saat Dilimi ile Zaman Damgası | DateTime |
VarByte | Bayt[] |
VarChar | String |
VarGraphic | 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.
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . Desteklenen veri depoları.