Kopyalama etkinliğinde şema ve veri türü eşlemesi

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, Azure Data Factory kopyalama etkinliğinin kaynak verilerden havuz verilerine şema eşlemesini ve veri türü eşlemesini nasıl gerçekleştirdiği açıklanmaktadır.

Şema eşleme

Varsayılan eşleme

Varsayılan olarak, kopyalama etkinliği kaynak verileri büyük/küçük harfe duyarlı bir şekilde sütun adlarına göre havuza eşler. Örneğin, havuz yoksa, kaynak alan adları havuz adları olarak kalıcı olur. Havuz zaten varsa, kaynaktan kopyalanan tüm sütunları içermelidir. Bu tür varsayılan eşleme, esnek şemaları ve kaynaktan havuza yürütmeden yürütmeye şema kayması destekler. Kaynak veri deposu tarafından döndürülen tüm veriler havuza kopyalanabilir.

Kaynağınız üst bilgi satırı olmayan bir metin dosyasıysa, kaynak sütun adları içermediğinden açık eşleme gerekir.

Açık eşleme

Ayrıca, kaynaktan havuza sütun/alan eşlemesini ihtiyaçlarınıza göre özelleştirmek için açık eşleme de belirtebilirsiniz. Açık eşleme ile havuza yalnızca kısmi kaynak verileri kopyalayabilir veya kaynak verileri farklı adlarla havuza eşleyebilir veya tablosal/hiyerarşik verileri yeniden şekillendirebilirsiniz. Kopyalama etkinliği:

  1. Kaynaktan verileri okur ve kaynak şemasını belirler.
  2. Tanımlı eşlemenizi uygular.
  3. Verileri havuza yazar.

Aşağıdakiler hakkında daha fazla bilgi edinin:

Eşlemeyi Yazma kullanıcı arabirimi - kopyalama etkinliği ->> eşleme sekmesinde yapılandırabilir veya kopyalama etkinliği ->translator özelliğinde eşlemeyi program aracılığıyla belirtebilirsiniz. Aşağıdaki özellikler, verileri eşlemek için belirli bir sütuna/alana işaret eden dizi - nesneler ->source ve sinkiçinde desteklenirtranslator>mappings.>

Özellik Açıklama Gerekli
Adı Kaynak veya havuz sütununun/alanının adı. Tablosal kaynak ve havuz için uygulayın. Yes
Sıralı Sütun dizini. 1'den başlayın.
Üst bilgi satırı olmadan sınırlandırılmış metin kullanırken uygulayın ve gerekli.
Hayır
yol Ayıklamak veya eşlemek için her alan için JSON yol ifadesi. Azure Cosmos DB, MongoDB veya REST bağlayıcıları gibi hiyerarşik kaynak ve havuz için uygulayın.
Kök nesnenin altındaki alanlar için JSON yolu kök $ile başlar; özelliği tarafından collectionReference seçilen dizinin içindeki alanlar için JSON yolu olmadan $dizi öğesinden başlar.
Hayır
Tür Kaynak veya havuz sütununun ara veri türü. Genel olarak, bu özelliği belirtmeniz veya değiştirmeniz gerekmez. Veri türü eşlemesi hakkında daha fazla bilgi edinin. Hayır
kültür Kaynak veya havuz sütununun kültürü. türü veya Datetimeoffsetolduğunda Datetime uygulayın. Varsayılan değer: en-us.
Genel olarak, bu özelliği belirtmeniz veya değiştirmeniz gerekmez. Veri türü eşlemesi hakkında daha fazla bilgi edinin.
Hayır
format Tür Datetime veya Datetimeoffsetolduğunda kullanılacak biçim dizesi. Tarih saatlerini biçimlendirme hakkında Özel Tarih ve Saat Biçim Dizeleri'ne bakın. Genel olarak, bu özelliği belirtmeniz veya değiştirmeniz gerekmez. Veri türü eşlemesi hakkında daha fazla bilgi edinin. Hayır

aşağıdaki özellikler altında ve altında mappingsdesteklenirtranslator:

Özellik Açıklama Gerekli
collectionReference Azure Cosmos DB, MongoDB veya REST bağlayıcıları gibi hiyerarşik bir kaynaktan veri kopyalarken uygulayın.
Aynı desene sahip bir dizi alanının içindeki nesnelerden verileri yinelemek ve ayıklamak ve nesne başına satır başına dönüştürme yapmak istiyorsanız, çapraz uygulama yapmak için bu dizinin JSON yolunu belirtin.
Hayır

Tablosal kaynak- tablosal havuz

Örneğin, Salesforce'tan Azure SQL Veritabanı verileri kopyalamak ve üç sütunu açıkça eşlemek için:

  1. Kopyalama etkinliği -> eşleme sekmesinde, hem kaynak hem de havuz şemalarını içeri aktarmak için Şemaları içeri aktar düğmesine tıklayın.

  2. Gerekli alanları eşleyin ve kalan alanları hariç tutun/silin.

Tablosal ile tablosal eşleme

Kopyalama etkinliği yükünde aynı eşleme aşağıdaki gibi yapılandırılabilir (bkz translator: ):

{
    "name": "CopyActivityTabularToTabular",
    "type": "Copy",
    "typeProperties": {
        "source": { "type": "SalesforceSource" },
        "sink": { "type": "SqlSink" },
        "translator": {
            "type": "TabularTranslator",
            "mappings": [
                {
                    "source": { "name": "Id" },
                    "sink": { "name": "CustomerID" }
                },
                {
                    "source": { "name": "Name" },
                    "sink": { "name": "LastName" }
                },
                {
                    "source": { "name": "LastModifiedDate" },
                    "sink": { "name": "ModifiedDate" }
                }
            ]
        }
    },
    ...
}

Üst bilgi satırı olmadan sınırlandırılmış metin dosyalarından veri kopyalamak için, sütunlar adlar yerine sıralı olarak temsil edilir.

{
    "name": "CopyActivityTabularToTabular",
    "type": "Copy",
    "typeProperties": {
        "source": { "type": "DelimitedTextSource" },
        "sink": { "type": "SqlSink" },
        "translator": {
            "type": "TabularTranslator",
            "mappings": [
                {
                    "source": { "ordinal": "1" },
                    "sink": { "name": "CustomerID" }
                }, 
                {
                    "source": { "ordinal": "2" },
                    "sink": { "name": "LastName" }
                }, 
                {
                    "source": { "ordinal": "3" },
                    "sink": { "name": "ModifiedDate" }
                }
            ]
        }
    },
    ...
}

Hiyerarşik kaynak- tablosal havuz

Hiyerarşik kaynaktan tablosal havuza veri kopyalarken kopyalama etkinliği aşağıdaki özellikleri destekler:

  • Nesnelerden ve dizilerden veri ayıklama.
  • Çapraz, bir diziden aynı desene sahip birden çok nesne uygular ve bu durumda tablo sonucu olarak bir JSON nesnesini birden çok kayda dönüştürür.

Daha gelişmiş hiyerarşik-tablosal dönüşüm için Veri Akışı kullanabilirsiniz.

Örneğin, aşağıdaki içeriğe sahip kaynak MongoDB belgeniz varsa:

{
    "id": {
        "$oid": "592e07800000000000000000"
    },
    "number": "01",
    "date": "20170122",
    "orders": [
        {
            "prod": "p1",
            "price": 23
        },
        {
            "prod": "p2",
            "price": 13
        },
        {
            "prod": "p3",
            "price": 231
        }
    ],
    "city": [ { "name": "Seattle" } ]
}

Ayrıca, dizi içindeki verileri düzleştiren (order_pd ve order_price) ve ortak kök bilgileriyle (sayı, tarih ve şehir) çapraz birleşim yaparak, bunu üst bilgi satırıyla aşağıdaki biçimde bir metin dosyasına kopyalamak istiyorsunuz:

Ordernumber Sipariştarihi order_pd order_price şehir
01 20170122 P1 23 Seattle
01 20170122 P2 13 Seattle
01 20170122 P3 231 Seattle

Bu eşlemeyi Data Factory yazma kullanıcı arabiriminde tanımlayabilirsiniz:

  1. Kopyalama etkinliği -> eşleme sekmesinde, hem kaynak hem de havuz şemalarını içeri aktarmak için Şemaları içeri aktar düğmesine tıklayın. Hizmet şemayı içeri aktarırken ilk birkaç nesneyi örneklediğinden, herhangi bir alan gösterilmiyorsa, bunu hiyerarşide doğru katmana ekleyebilirsiniz; var olan bir alan adının üzerine gelin ve düğüm, nesne veya dizi eklemeyi seçin.

  2. Verileri yinelemek ve ayıklamak istediğiniz diziyi seçin. Koleksiyon başvurusu olarak otomatik olarak doldurulur. Bu tür işlem için yalnızca tek bir dizinin desteklendiğine dikkat edin.

  3. Gerekli alanları havuza eşleyin. Hizmet, hiyerarşik taraf için ilgili JSON yollarını otomatik olarak belirler.

Not

Koleksiyon başvurusu olarak işaretlenmiş dizinin boş olduğu ve onay kutusunun seçili olduğu kayıtlar için kaydın tamamı atlanır.

Kullanıcı arabirimini kullanarak hiyerarşik ile tablosal eşleme

Gelişmiş düzenleyiciye de geçebilirsiniz. Bu durumda alanların JSON yollarını doğrudan görebilir ve düzenleyebilirsiniz. Bu görünümde yeni eşleme eklemeyi seçerseniz JSON yolunu belirtin.

Gelişmiş düzenleyiciyi kullanarak hiyerarşik ile tablosal eşleme

Kopyalama etkinliği yükünde aynı eşleme aşağıdaki gibi yapılandırılabilir (bkz translator: ):

{
    "name": "CopyActivityHierarchicalToTabular",
    "type": "Copy",
    "typeProperties": {
        "source": { "type": "MongoDbV2Source" },
        "sink": { "type": "DelimitedTextSink" },
        "translator": {
            "type": "TabularTranslator",
            "mappings": [
                {
                    "source": { "path": "$['number']" },
                    "sink": { "name": "orderNumber" }
                },
                {
                    "source": { "path": "$['date']" },
                    "sink": { "name": "orderDate" }
                },
                {
                    "source": { "path": "['prod']" },
                    "sink": { "name": "order_pd" }
                },
                {
                    "source": { "path": "['price']" },
                    "sink": { "name": "order_price" }
                },
                {
                    "source": { "path": "$['city'][0]['name']" },
                    "sink": { "name": "city" }
                }
            ],
            "collectionReference": "$['orders']"
        }
    },
    ...
}

Hiyerarşik havuza tablosal/Hiyerarşik kaynak

Kullanıcı deneyimi akışı Hiyerarşik kaynağa tablosal havuza benzer.

Tablosal kaynaktan hiyerarşik havuza veri kopyalarken, nesnenin içindeki diziye yazma desteklenmez.

Hiyerarşik kaynaktan hiyerarşik havuza veri kopyalarken, nesne/diziyi seçerek ve iç alanlara dokunmadan havuza eşleyerek katmanın hiyerarşisinin tamamını da koruyabilirsiniz.

Daha gelişmiş veri yeniden şekillendirme dönüşümü için Veri Akışı kullanabilirsiniz.

Eşlemeyi parametreleştirme

Çok sayıda nesneyi dinamik olarak kopyalamak için şablonlaştırılmış bir işlem hattı oluşturmak istiyorsanız, varsayılan eşlemeden yararlanıp yararlanamayacağınızı veya ilgili nesneler için açık eşleme tanımlamanız gerekip gerekmediğini belirleyin.

Açık eşleme gerekiyorsa şunları yapabilirsiniz:

  1. İşlem hattı düzeyinde nesne türüne sahip bir parametre tanımlayın; örneğin, mapping.

  2. Eşlemeyi parametreleştirin: kopyalama etkinliği -> eşleme sekmesinde dinamik içerik eklemeyi ve yukarıdaki parametreyi seçin. Etkinlik yükü aşağıdaki gibi olacaktır:

    {
        "name": "CopyActivityHierarchicalToTabular",
        "type": "Copy",
        "typeProperties": {
            "source": {...},
            "sink": {...},
            "translator": {
                "value": "@pipeline().parameters.mapping",
                "type": "Expression"
            },
            ...
        }
    }
    
  3. Eşleme parametresine geçirmek için değeri oluşturma. Tanım nesnesinin translator tamamı olmalıdır, açık eşleme bölümündeki örneklere bakın. Örneğin, tablosal kaynak ile tablosal havuz kopyası için değeri olmalıdır {"type":"TabularTranslator","mappings":[{"source":{"name":"Id"},"sink":{"name":"CustomerID"}},{"source":{"name":"Name"},"sink":{"name":"LastName"}},{"source":{"name":"LastModifiedDate"},"sink":{"name":"ModifiedDate"}}]}.

Veri türü eşleme

Kopyalama etkinliği aşağıdaki akışla havuz türleri eşlemesi için kaynak türleri gerçekleştirir:

  1. Kaynak yerel veri türlerinden Azure Data Factory ve Synapse işlem hatları tarafından kullanılan ara veri türlerine dönüştürün.
  2. Hem varsayılan eşleme hem de açık eşlemeiçin geçerli olan ilgili havuz türleriyle eşleşecek şekilde ara veri türünü gerektiği gibi otomatik olarak dönüştürün.
  3. Geçici veri türlerinden havuz yerel veri türlerine dönüştürün.

Kopyalama etkinliği şu anda şu ara veri türlerini destekler: Boolean, Byte, Byte dizisi, Datetime, DatetimeOffset, Decimal, Double, GUID, Int16, Int32, Int64, SByte, Single, String, Timespan, UInt16, UInt32 ve UInt64.

Kaynaktan havuza ara türler arasında aşağıdaki veri türü dönüştürmeleri desteklenir.

Kaynak\Havuz Boolean Bayt dizisi Tarih/Zaman Ondalık Kayan nokta GUID Tamsayı String TimeSpan
Boolean
Bayt dizisi
Tarih/Zaman
Ondalık
Kayan nokta
GUID
Tamsayı
String
TimeSpan

(1) Date/Time, DateTime ve DateTimeOffset değerlerini içerir.

(2) Kayan nokta Tek ve Çift'i içerir.

(3) Tamsayı SByte, Byte, Int16, UInt16, Int32, UInt32, Int64 ve UInt64'ü içerir.

Not

  • Şu anda tablosal veriler arasında kopyalama yapılırken bu tür veri türü dönüştürmesi desteklenir. Hiyerarşik kaynaklar/havuzlar desteklenmez, bu da kaynak ve havuz ara türleri arasında sistem tanımlı veri türü dönüştürmesi olmadığı anlamına gelir.
  • Bu özellik en son veri kümesi modeliyle çalışır. Kullanıcı arabiriminde bu seçeneği görmüyorsanız yeni bir veri kümesi oluşturmayı deneyin.

Veri türü dönüştürme için kopyalama etkinliğinde aşağıdaki özellikler desteklenir (programlı yazma bölümü altında translator ):

Özellik Açıklama Gerekli
typeConversion Yeni veri türü dönüştürme deneyimini etkinleştirin.
Geriye dönük uyumluluk nedeniyle varsayılan değer false değeridir.

Data Factory yazma kullanıcı arabirimi aracılığıyla Haziran 2020'nin sonlarından bu yana oluşturulan yeni kopyalama etkinlikleri için bu veri türü dönüştürmesi en iyi deneyim için varsayılan olarak etkindir ve kopyalama etkinliği -> geçerli senaryolar için eşleme sekmesinde aşağıdaki tür dönüştürme ayarlarını görebilirsiniz.
İşlem hattını program aracılığıyla oluşturmak için özelliği etkinleştirmek için açıkça true olarak ayarlamanız typeConversion gerekir.
Bu özellik yayımlanmadan önce oluşturulan mevcut kopyalama etkinlikleri için geriye dönük uyumluluk için yazma kullanıcı arabiriminde tür dönüştürme seçeneklerini görmezsiniz.
Hayır
typeConversion Ayarlar Tür dönüştürme ayarları grubu. typeConversion olarak ayarlandığında trueuygulayın. Aşağıdaki özelliklerin tümü bu grubun altındadır. Hayır
Altında typeConversionSettings
allowDataTruncation Kaynak verileri kopyalama sırasında farklı türdeki havuza dönüştürürken (örneğin, ondalıktan tamsayıya, DatetimeOffset'ten Datetime'a) veri kesilmesine izin verin.
Varsayılan değeri, doğrudur.
Hayır
treatBooleanAsNumber Boole'ları sayı olarak, örneğin true olarak 1 olarak değerlendirin.
Varsayılan değer yanlış'tır.
Hayır
Datetimeformat Saat dilimi uzaklığı olmayan tarihler ve dizeler arasında dönüştürme yaparken dizeyi biçimlendirin; örneğin, yyyy-MM-dd HH:mm:ss.fff. Ayrıntılı bilgi için Özel Tarih ve Saat Biçim Dizeleri'ne bakın. Hayır
dateTimeOffsetFormat Saat dilimi uzaklığı ve dizeleri olan tarihler arasında dönüştürme yaparken dizeyi biçimlendirin; örneğin, yyyy-MM-dd HH:mm:ss.fff zzz. Ayrıntılı bilgi için Özel Tarih ve Saat Biçim Dizeleri'ne bakın. Hayır
timeSpanFormat Zaman aralıkları ve dizeler arasında dönüştürme yaparken dizeyi biçimlendirin; örneğin, dd\.hh\:mm. Ayrıntılı bilgi için Özel TimeSpan Biçim Dizeleri'ne bakın. Hayır
kültür Türleri dönüştürürken kullanılacak kültür bilgileri, örneğin veya en-usfr-fr. Hayır

Örnek:

{
    "name": "CopyActivity",
    "type": "Copy",
    "typeProperties": {
        "source": {
        	"type": "ParquetSource"
        },
        "sink": {
            "type": "SqlSink"
        },
        "translator": {
            "type": "TabularTranslator",
            "typeConversion": true,
            "typeConversionSettings": {
                "allowDataTruncation": true,
                "treatBooleanAsNumber": true,
                "dateTimeFormat": "yyyy-MM-dd HH:mm:ss.fff",
                "dateTimeOffsetFormat": "yyyy-MM-dd HH:mm:ss.fff zzz",
                "timeSpanFormat": "dd\.hh\:mm",
                "culture": "en-gb"
            }
        }
	},
    ...
}

Eski modeller

Not

Kaynak sütunları/alanları havuza eşlemek için aşağıdaki modeller geriye dönük uyumluluk için olduğu gibi yine de desteklenir. Şema eşlemesinde bahsedilen yeni modeli kullanmanızı öneririz. Yazma kullanıcı arabirimi yeni modeli oluşturmaya geçti.

Alternatif sütun eşleme (eski model)

Tablo şeklindeki veriler arasında eşleme yapmak için kopyalama etkinliğini>translator>columnMappings belirtebilirsiniz. Bu durumda, hem giriş hem de çıkış veri kümeleri için "yapı" bölümü gereklidir. Sütun eşlemesi, "yapı" kaynak veri kümesindeki sütunların tümünü veya alt kümesini havuz veri kümesindeki "yapı" içindeki tüm sütunlara eşlemeyi destekler. Bir özel durumla sonuçlanır hata koşulları şunlardır:

  • Kaynak veri deposu sorgu sonucunun giriş veri kümesi "yapısı" bölümünde belirtilen bir sütun adı yok.
  • Havuz veri deposunun (önceden tanımlanmış şema varsa) çıkış veri kümesi "yapısı" bölümünde belirtilen bir sütun adı yoktur.
  • Havuz veri kümesinin "yapısında" eşlemede belirtilenden daha az sütun veya daha fazla sütun.
  • Yinelenen eşleme.

Aşağıdaki örnekte, giriş veri kümesinin bir yapısı vardır ve şirket içi Oracle veritabanındaki bir tabloyu işaret eder.

{
    "name": "OracleDataset",
    "properties": {
        "structure":
         [
            { "name": "UserId"},
            { "name": "Name"},
            { "name": "Group"}
         ],
        "type": "OracleTable",
        "linkedServiceName": {
            "referenceName": "OracleLinkedService",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "tableName": "SourceTable"
        }
    }
}

Bu örnekte çıkış veri kümesinin bir yapısı vardır ve Salesforce'taki bir tabloya işaret eder.

{
    "name": "SalesforceDataset",
    "properties": {
        "structure":
        [
            { "name": "MyUserId"},
            { "name": "MyName" },
            { "name": "MyGroup"}
        ],
        "type": "SalesforceObject",
        "linkedServiceName": {
            "referenceName": "SalesforceLinkedService",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "tableName": "SinkTable"
        }
    }
}

Aşağıdaki JSON işlem hattında kopyalama etkinliğini tanımlar. Translator ->columnMappings özelliğini kullanarak havuzdaki sütunlara eşlenen kaynaktaki sütunlar.

{
    "name": "CopyActivity",
    "type": "Copy",
    "inputs": [
        {
            "referenceName": "OracleDataset",
            "type": "DatasetReference"
        }
    ],
    "outputs": [
        {
            "referenceName": "SalesforceDataset",
            "type": "DatasetReference"
        }
    ],
    "typeProperties":    {
        "source": { "type": "OracleSource" },
        "sink": { "type": "SalesforceSink" },
        "translator":
        {
            "type": "TabularTranslator",
            "columnMappings":
            {
                "UserId": "MyUserId",
                "Group": "MyGroup",
                "Name": "MyName"
            }
        }
    }
}

Sütun eşlemesini belirtmek için söz dizimini "columnMappings": "UserId: MyUserId, Group: MyGroup, Name: MyName" kullanıyorsanız, yine de olduğu gibi desteklenir.

Alternatif şema eşleme (eski model)

Hiyerarşik şekilli veriler ile tablo şeklindeki veriler arasında eşleme yapmak için kopyalama etkinliğini>translator>schemaMapping belirtebilirsiniz. Örneğin, MongoDB/REST'ten metin dosyasına kopyalayın ve Oracle'dan MongoDB için Azure Cosmos DB'ye kopyalayın. Kopyalama etkinliği translator bölümünde aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
Tür Kopyalama etkinliği çeviricisinin type özelliği şu şekilde ayarlanmalıdır: Tablosal Çeviri Yes
schemaMapping Kaynak taraftan havuz tarafına eşleme ilişkisini temsil eden anahtar-değer çiftleri koleksiyonu.
- Anahtar: kaynağı temsil eder. Tablosal kaynak için, veri kümesi yapısında tanımlandığı gibi sütun adını belirtin; hiyerarşik kaynak için ayıklanıp eşılacak her alan için JSON yol ifadesini belirtin.
- Değer: havuzu temsil eder. Tablosal havuz için, veri kümesi yapısında tanımlandığı gibi sütun adını belirtin; hiyerarşik havuz için ayıklanıp eşleneceğini her alan için JSON yol ifadesini belirtin.
Hiyerarşik veriler söz konusu olduğunda, kök nesne altındaki alanlar için JSON yolu kök $ ile başlar; özelliği tarafından collectionReference seçilen dizinin içindeki alanlar için JSON yolu dizi öğesinden başlar.
Yes
collectionReference Aynı desene sahip bir dizi alanının içindeki nesnelerden verileri yinelemek ve ayıklamak ve nesne başına satır başına dönüştürme yapmak istiyorsanız, çapraz uygulama yapmak için bu dizinin JSON yolunu belirtin. Bu özellik yalnızca hiyerarşik veriler kaynak olduğunda desteklenir. Hayır

Örnek: MongoDB'den Oracle'a kopyalayın:

Örneğin, aşağıdaki içeriğe sahip MongoDB belgeniz varsa:

{
    "id": {
        "$oid": "592e07800000000000000000"
    },
    "number": "01",
    "date": "20170122",
    "orders": [
        {
            "prod": "p1",
            "price": 23
        },
        {
            "prod": "p2",
            "price": 13
        },
        {
            "prod": "p3",
            "price": 231
        }
    ],
    "city": [ { "name": "Seattle" } ]
}

ve dizi içindeki verileri düzleştiren (order_pd ve order_price) ve ortak kök bilgileriyle (sayı, tarih ve şehir) çapraz birleşim yaparak bunu aşağıdaki biçimde bir Azure SQL tablosuna kopyalamak istiyorsunuz:

Ordernumber Sipariştarihi order_pd order_price şehir
01 20170122 P1 23 Seattle
01 20170122 P2 13 Seattle
01 20170122 P3 231 Seattle

Şema eşleme kuralını aşağıdaki kopyalama etkinliği JSON örneği olarak yapılandırın:

{
    "name": "CopyFromMongoDBToOracle",
    "type": "Copy",
    "typeProperties": {
        "source": {
            "type": "MongoDbV2Source"
        },
        "sink": {
            "type": "OracleSink"
        },
        "translator": {
            "type": "TabularTranslator",
            "schemaMapping": {
                "$.number": "orderNumber",
                "$.date": "orderDate",
                "prod": "order_pd",
                "price": "order_price",
                "$.city[0].name": "city"
            },
            "collectionReference":  "$.orders"
        }
    }
}

Diğer Kopyalama Etkinliği makalelerine bakın: