Azure Data Factory kullanarak verileri Sybase'den taşıma

Not

Bu makale, Data Factory’nin 1. sürümü için geçerlidir. Data Factory hizmetinin geçerli sürümünü kullanıyorsanız bkz. V2'de Sybase bağlayıcısı.

Bu makalede, şirket içi Sybase veritabanından veri taşımak için Azure Data Factory kopyalama etkinliğinin nasıl kullanılacağı açıklanmaktadır. Kopyalama etkinliğiyle birlikte veri taşımaya genel bir genel bakış sunan Veri Taşıma Etkinlikleri makalesini oluşturur.

Şirket içi Sybase veri deposundaki verileri desteklenen herhangi bir havuz veri deposuna kopyalayabilirsiniz. Kopyalama etkinliği tarafından havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın. Data Factory şu anda verileri yalnızca Sybase veri deposundan diğer veri depolarına taşımayı destekler, ancak verileri diğer veri depolarından Sybase veri deposuna taşımak için desteklemez.

Önkoşullar

Data Factory hizmeti, Veri Yönetimi Gateway kullanarak şirket içi Sybase kaynaklarına bağlanmayı destekler. Veri Yönetimi Gateway hakkında bilgi edinmek için şirket içi konumlar ile bulut arasında veri taşıma makalesine bakın ve ağ geçidini ayarlamaya yönelik adım adım yönergeler.

Sybase veritabanı bir Azure IaaS VM'sinde barındırılıyor olsa bile ağ geçidi gereklidir. Ağ geçidi veritabanına bağlanabildiği sürece ağ geçidini veri deposuyla aynı IaaS VM'sine veya farklı bir VM'ye yükleyebilirsiniz.

Not

Bağlantı/ ağ geçidiyle ilgili sorunları giderme ipuçları için bkz. Ağ geçidi sorunlarını giderme.

Desteklenen sürümler ve yükleme

Veri Yönetimi Ağ Geçidi'nin Sybase Veritabanına bağlanması için Sybase iAnywhere.Data.SQLAnywhere 16 veya üzeri için veri sağlayıcısını Veri Yönetimi Ağ Geçidi ile aynı sisteme yüklemeniz gerekir.

SAP Sybase SQL Anywhere (ASA) sürüm 16 ve üzeri desteklenir; IQ ve ASE desteklenmez.

Başlarken

Farklı araçlar/API'ler kullanarak verileri şirket içi Cassandra veri deposundan taşıyan kopyalama etkinliğine sahip bir işlem hattı oluşturabilirsiniz.

  • İşlem hattı oluşturmanın en kolay yolu Kopyalama Sihirbazı'nı kullanmaktır. Veri kopyalama sihirbazını kullanarak işlem hattı oluşturma hakkında hızlı bir kılavuz için bkz. Öğretici: Kopyalama Sihirbazı'nı kullanarak işlem hattı oluşturma.
  • İşlem hattı oluşturmak için aşağıdaki araçları da kullanabilirsiniz: Visual Studio, Azure PowerShell, Azure Resource Manager şablonu, .NET API ve REST API. Kopyalama etkinliğiyle işlem hattı oluşturmaya yönelik adım adım yönergeler için Kopyalama etkinliği öğreticiye bakın.

İster araçları ister API'leri kullanın, bir kaynak veri deposundan havuz veri deposuna veri taşıyan bir işlem hattı oluşturmak için aşağıdaki adımları gerçekleştirirsiniz:

  1. Giriş ve çıkış veri depolarını veri fabrikanıza bağlamak için bağlı hizmetler oluşturun.
  2. Kopyalama işlemi için giriş ve çıkış verilerini temsil eden veri kümeleri oluşturun.
  3. Veri kümesini giriş, veri kümesini çıkış olarak alan kopyalama etkinliğine sahip bir işlem hattı oluşturun.

Sihirbazı kullandığınızda, bu Data Factory varlıkları (bağlı hizmetler, veri kümeleri ve işlem hattı) için JSON tanımları sizin için otomatik olarak oluşturulur. Araçları/API'leri (.NET API hariç) kullandığınızda, JSON biçimini kullanarak bu Data Factory varlıklarını tanımlarsınız. Şirket içi Sybase veri deposundan veri kopyalamak için kullanılan Data Factory varlıkları için JSON tanımlarına sahip bir örnek için bu makalenin JSON örneği: Sybase'den Azure Blob'a veri kopyalama bölümüne bakın.

Aşağıdaki bölümlerde, Sybase veri deposuna özgü Data Factory varlıklarını tanımlamak için kullanılan JSON özellikleri hakkında ayrıntılar sağlanır:

Bağlı hizmet özellikleri

Aşağıdaki tabloda Sybase bağlı hizmetine özgü JSON öğeleri için açıklama sağlanır.

Özellik Açıklama Gerekli
tür Tür özelliği şu şekilde ayarlanmalıdır: OnPremisesSybase Yes
sunucu Sybase sunucusunun adı. Yes
database Sybase veritabanının adı. Yes
schema Veritabanındaki şemanın adı. No
authenticationType Sybase veritabanına bağlanmak için kullanılan kimlik doğrulama türü. Olası değerler şunlardır: Anonim, Temel ve Windows. Yes
username Temel veya Windows kimlik doğrulaması kullanıyorsanız kullanıcı adını belirtin. No
password Kullanıcı adı için belirttiğiniz kullanıcı hesabının parolasını belirtin. No
gatewayName Data Factory hizmetinin şirket içi Sybase veritabanına bağlanmak için kullanması gereken ağ geçidinin adı. Yes

Veri kümesi özellikleri

Veri kümelerini & tanımlamak için kullanılabilen bölüm özelliklerinin tam listesi için Veri kümeleri oluşturma makalesine bakın. Veri kümesi JSON'unun yapısı, kullanılabilirliği ve ilkesi gibi bölümler tüm veri kümesi türleri (Azure SQL, Azure blobu, Azure tablosu vb.) için benzerdir.

typeProperties bölümü her veri kümesi türü için farklıdır ve veri deposundaki verilerin konumu hakkında bilgi sağlar. RelationalTable (Sybase veri kümesini içerir) türündeki veri kümesinin typeProperties bölümü aşağıdaki özelliklere sahiptir:

Özellik Açıklama Gerekli
tableName Bağlı hizmetin başvurduğu Sybase Veritabanı örneğindeki tablonun adı. Hayır (RelationalSourcesorgusu belirtildiyse)

Kopyalama etkinliğinin özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölüm & özelliklerinin tam listesi için bkz. Pipelines oluşturma makalesi. Ad, açıklama, giriş ve çıkış tabloları ve ilke gibi özellikler tüm etkinlik türleri için kullanılabilir.

Öte yandan, etkinliğin typeProperties bölümünde bulunan özellikler her etkinlik türüne göre değişir. Kopyalama etkinliği için, kaynak ve havuz türlerine bağlı olarak değişir.

Kaynak RelationalSource türündeyse (Sybase'i içerir), typeProperties bölümünde aşağıdaki özellikler kullanılabilir:

Özellik Açıklama İzin verilen değerler Gerekli
sorgu Verileri okumak için özel sorguyu kullanın. Sorgu dizesini SQL. Örneğin: MyTable'dan * öğesini seçin. Hayır (veri kümesinintableName değeri belirtilmişse)

JSON örneği: Sybase'den Azure Blob'a veri kopyalama

Aşağıdaki örnek, Visual Studio veyaAzure PowerShell kullanarak işlem hattı oluşturmak için kullanabileceğiniz örnek JSON tanımları sağlar. Sybase veritabanından Azure Blob Depolama veri kopyalamayı gösterir. Ancak veriler, Azure Data Factory'daki Kopyalama Etkinliği kullanılarak burada belirtilen havuzlardan herhangi birine kopyalanabilir.

Örnekte aşağıdaki veri fabrikası varlıkları vardır:

  1. OnPremisesSybase türünde bir bağlı hizmet.
  2. AzureStorage türünde beğenilen bir hizmet.
  3. RelationalTable türünde bir giriş veri kümesi.
  4. AzureBlob türünde bir çıkış veri kümesi.
  5. RelationalSource ve BlobSink kullanan Kopyalama Etkinliğine sahip işlem hattı.

Örnek, Sybase veritabanındaki bir sorgu sonucundaki verileri saatte bir bloba kopyalar. Bu örneklerde kullanılan JSON özellikleri, örnekleri izleyen bölümlerde açıklanmıştır.

İlk adım olarak veri yönetimi ağ geçidini ayarlayın. Yönergeler, şirket içi konumlar ile bulut arasında veri taşıma makalesinde verilmiştir .

Sybase bağlı hizmeti:

{
    "name": "OnPremSybaseLinkedService",
    "properties": {
        "type": "OnPremisesSybase",
        "typeProperties": {
            "server": "<server>",
            "database": "<database>",
            "schema": "<schema>",
            "authenticationType": "<authentication type>",
            "username": "<username>",
            "password": "<password>",
            "gatewayName": "<gatewayName>"
        }
    }
}

Azure Blob depolama bağlı hizmeti:

{
    "name": "AzureStorageLinkedService",
    "properties": {
        "type": "AzureStorageLinkedService",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<AccountName>;AccountKey=<AccountKey>"
        }
    }
}

Sybase giriş veri kümesi:

Örnekte, Sybase'de bir "MyTable" tablosu oluşturduğunuz varsayılır ve zaman serisi verileri için "zaman damgası" adlı bir sütun bulunur.

"dış" ayarı: true, Data Factory hizmetine bu veri kümesinin veri fabrikasının dışında olduğunu ve veri fabrikasındaki bir etkinlik tarafından üretilmediğini bildirir. Bağlı hizmet türünün şu şekilde ayarlandığına dikkat edin: İlişkiselTablo.

{
    "name": "SybaseDataSet",
    "properties": {
        "type": "RelationalTable",
        "linkedServiceName": "OnPremSybaseLinkedService",
        "typeProperties": {},
        "availability": {
            "frequency": "Hour",
            "interval": 1
        },
        "external": true,
        "policy": {
            "externalData": {
                "retryInterval": "00:01:00",
                "retryTimeout": "00:10:00",
                "maximumRetry": 3
            }
        }
    }
}

Azure Blob çıkış veri kümesi:

Veriler saatte bir yeni bir bloba yazılır (sıklık: saat, aralık: 1). Blobun klasör yolu, işlenen dilimin başlangıç zamanına göre dinamik olarak değerlendirilir. Klasör yolu başlangıç saatinin yıl, ay, gün ve saat bölümlerini kullanır.

{
    "name": "AzureBlobSybaseDataSet",
    "properties": {
        "type": "AzureBlob",
        "linkedServiceName": "AzureStorageLinkedService",
        "typeProperties": {
            "folderPath": "mycontainer/sybase/yearno={Year}/monthno={Month}/dayno={Day}/hourno={Hour}",
            "format": {
                "type": "TextFormat",
                "rowDelimiter": "\n",
                "columnDelimiter": "\t"
            },
            "partitionedBy": [
                {
                    "name": "Year",
                    "value": {
                        "type": "DateTime",
                        "date": "SliceStart",
                        "format": "yyyy"
                    }
                },
                {
                    "name": "Month",
                    "value": {
                        "type": "DateTime",
                        "date": "SliceStart",
                        "format": "MM"
                    }
                },
                {
                    "name": "Day",
                    "value": {
                        "type": "DateTime",
                        "date": "SliceStart",
                        "format": "dd"
                    }
                },
                {
                    "name": "Hour",
                    "value": {
                        "type": "DateTime",
                        "date": "SliceStart",
                        "format": "HH"
                    }
                }
            ]
        },
        "availability": {
            "frequency": "Hour",
            "interval": 1
        }
    }
}

Kopyalama etkinliği ile işlem hattı:

İşlem hattı, giriş ve çıkış veri kümelerini kullanmak üzere yapılandırılmış ve saatlik çalışacak şekilde zamanlanmış bir Kopyalama Etkinliği içerir. İşlem hattı JSON tanımında kaynak türü RelationalSource , havuz türü ise BlobSink olarak ayarlanır. Sorgu özelliği için belirtilen SQL sorgusu, DBA'dan verileri seçer. Veritabanındaki Orders tablosu.

{
    "name": "CopySybaseToBlob",
    "properties": {
        "description": "pipeline for copy activity",
        "activities": [
            {
                "type": "Copy",
                "typeProperties": {
                    "source": {
                        "type": "RelationalSource",
                        "query": "select * from DBA.Orders"
                    },
                    "sink": {
                        "type": "BlobSink"
                    }
                },
                "inputs": [
                    {
                        "name": "SybaseDataSet"
                    }
                ],
                "outputs": [
                    {
                        "name": "AzureBlobSybaseDataSet"
                    }
                ],
                "policy": {
                    "timeout": "01:00:00",
                    "concurrency": 1
                },
                "scheduler": {
                    "frequency": "Hour",
                    "interval": 1
                },
                "name": "SybaseToBlob"
            }
        ],
        "start": "2014-06-01T18:00:00Z",
        "end": "2014-06-01T19:00:00Z"
    }
}

Sybase için tür eşlemesi

Veri Taşıma Etkinlikleri makalesinde belirtildiği gibi, Kopyalama etkinliği aşağıdaki 2 adımlı yaklaşımla kaynak türlerden havuz türlerine otomatik tür dönüştürmeleri gerçekleştirir:

  1. Yerel kaynak türlerinden .NET türüne dönüştürme
  2. .NET türünden yerel havuz türüne dönüştürme

Sybase, T-SQL ve T-SQL türlerini destekler. SQL türlerinden .NET türüne eşleme tablosu için bağlayıcı Azure SQL makalesine bakın.

Kaynağı havuz sütunlarına eşleme

Kaynak veri kümesindeki sütunları havuz veri kümesindeki sütunlara eşleme hakkında bilgi edinmek için bkz. Azure Data Factory'de veri kümesi sütunlarını eşleme.

İlişkisel kaynaklardan tekrarlanabilir okuma

İlişkisel veri depolarından veri kopyalarken, istenmeyen sonuçlardan kaçınmak için yinelenebilirliği göz önünde bulundurun. Azure Data Factory dilimleri el ile yeniden çalıştırabilirsiniz. Ayrıca bir veri kümesi için yeniden deneme ilkesini yapılandırarak bir hata oluştuğunda dilimin yeniden çalıştırılmasını sağlayabilirsiniz. Bir dilim her iki şekilde de yeniden çalıştırıldığında, bir dilim kaç kez çalıştırılırsa çalıştırsın aynı verilerin okunduğundan emin olmanız gerekir. Bkz. İlişkisel kaynaklardan tekrarlanabilir okuma.

Performans ve Ayarlama

Azure Data Factory'da veri taşıma (Kopyalama Etkinliği) performansını etkileyen önemli faktörler ve bunu iyileştirmenin çeşitli yolları hakkında bilgi edinmek için bkz. Kopyalama Etkinliği Performansı & Ayarlama Kılavuzu.