Azure Data Factory veya Synapse Analytics kullanarak SAP HANA'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, SAP HANA veritabanından veri kopyalamak için Azure Data Factory ve Synapse Analytics işlem hatlarında Kopyalama Etkinliğinin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine genel bir genel bakış sunan kopyalama etkinliğine genel bakış makalesini oluşturur.
İpucu
SAP veri tümleştirme senaryosuna yönelik genel destek hakkında bilgi edinmek için bkz . SAP veri tümleştirmesi teknik incelemesi ve her SAP bağlayıcısı hakkında ayrıntılı giriş, karşılaştırma ve rehberlik.
Desteklenen özellikler
Bu SAP HANA bağlayıcısı aşağıdaki özellikler için desteklenir:
Desteklenen özellikler | IR |
---|---|
Kopyalama etkinliği (kaynak/havuz) | (2) |
Arama etkinliği | (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.
Bu SAP HANA bağlayıcısı özellikle şunları destekler:
- SAP HANA veritabanının herhangi bir sürümünden veri kopyalama.
- HANA bilgi modellerinden (Analiz ve Hesaplama görünümleri gibi) ve Satır/Sütun tablolarından veri kopyalama.
- Temel veya Windows kimlik doğrulamasını kullanarak veri kopyalama.
- SAP HANA kaynağından paralel kopyalama. Ayrıntılar için SAP HANA'dan paralel kopyalama bölümüne bakın.
İpucu
VERILERI SAP HANA veri deposuna kopyalamak için genel ODBC bağlayıcısını kullanın. Ayrıntılarla birlikte SAP HANA havuzu bölümüne bakın. SAP HANA bağlayıcısı ve ODBC bağlayıcısı için bağlı hizmetlerin farklı türde olduğunu, bu nedenle yeniden kullanılamayacağı unutmayın.
Önkoşullar
Bu SAP HANA bağlayıcısını kullanmak için şunları yapmanız gerekir:
- Şirket İçinde Barındırılan Tümleştirme Çalışma Zamanı ayarlayın. Ayrıntılar için şirket içinde barındırılan Integration Runtime makalesine bakın.
- Integration Runtime makinesine SAP HANA ODBC sürücüsünü yükleyin. SAP HANA ODBC sürücüsünü SAP Yazılım İndirme Merkezi'nden indirebilirsiniz. Windows için SAP HANA CLIENT anahtar sözcüğüyle arama yapın.
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 SAP HANA'ya bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde SAP HANA'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:
SAP araması yapın ve SAP HANA 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 SAP HANA 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
SAP HANA bağlı hizmeti için aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Tür özelliği şu şekilde ayarlanmalıdır: SapHana | Yes |
connectionString | Temel kimlik doğrulamasını veya Windows kimlik doğrulamasını kullanarak SAP HANA'ya bağlanmak için gereken bilgileri belirtin. Aşağıdaki örneklere bakın. bağlantı dizesi'da sunucu/bağlantı noktası zorunludur (varsayılan bağlantı noktası 30015'tir) ve temel kimlik doğrulaması kullanılırken kullanıcı adı ve parola zorunludur. Ek gelişmiş ayarlar için bkz. SAP HANA ODBC Bağlantı Özellikleri Ayrıca Azure Key Vault'a parola ekleyebilir ve parola yapılandırmasını bağlantı dizesi çıkarabilirsiniz. Daha fazla ayrıntı içeren Azure Key Vault'ta kimlik bilgilerini depolama makalesine bakın. |
Yes |
userName | Windows kimlik doğrulaması kullanırken kullanıcı adını belirtin. Örnek: user@domain.com |
Hayır |
password | Kullanıcı hesabı için parola belirtin. Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun. | Hayır |
connectVia | Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünde belirtildiği gibi şirket içinde barındırılan tümleştirme çalışma zamanı gereklidir. | Yes |
Örnek: temel kimlik doğrulamayı kullanma
{
"name": "SapHanaLinkedService",
"properties": {
"type": "SapHana",
"typeProperties": {
"connectionString": "SERVERNODE=<server>:<port (optional)>;UID=<userName>;PWD=<Password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Örnek: Windows kimlik doğrulaması kullanma
{
"name": "SapHanaLinkedService",
"properties": {
"type": "SapHana",
"typeProperties": {
"connectionString": "SERVERNODE=<server>:<port (optional)>;",
"userName": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
SAP HANA bağlı hizmetini aşağıdaki yükle kullandıysanız, yine de olduğu gibi desteklenir, ancak bundan sonra yenisini kullanmanız önerilir.
Örnek:
{
"name": "SapHanaLinkedService",
"properties": {
"type": "SapHana",
"typeProperties": {
"server": "<server>:<port (optional)>",
"authenticationType": "Basic",
"userName": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Veri kümesi özellikleri
Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için veri kümeleri makalesine bakın. Bu bölümde SAP HANA veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.
SAP HANA'dan veri kopyalamak için aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: SapHanaTable | Yes |
schema | SAP HANA veritabanındaki şemanın adı. | Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
table | SAP HANA veritabanındaki tablonun adı. | Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
Örnek:
{
"name": "SAPHANADataset",
"properties": {
"type": "SapHanaTable",
"typeProperties": {
"schema": "<schema name>",
"table": "<table name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<SAP HANA linked service name>",
"type": "LinkedServiceReference"
}
}
}
Yazılan veri kümesini kullanıyorsanız RelationalTable
, bu veri kümesi olduğu gibi desteklenirken, ileriye dönük yeni bir veri kümesini kullanmanız önerilir.
Kopyalama etkinliğinin özellikleri
Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölümde SAP HANA kaynağı tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak olarak SAP HANA
İpucu
Veri bölümlemeyi kullanarak SAP HANA'dan verileri verimli bir şekilde almak için SAP HANA'dan paralel kopyalama bölümünden daha fazla bilgi edinin.
SAP HANA'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 şu şekilde ayarlanmalıdır: SapHanaSource | Yes |
query | SAP HANA örneğinden verileri okumak için SQL sorgusunu belirtir. | Yes |
partitionOptions | SAP HANA'dan veri almak için kullanılan veri bölümleme seçeneklerini belirtir. SAP HANA'dan paralel kopyalama bölümünden daha fazla bilgi edinin. İzin ver değerleri şunlardır: Hiçbiri (varsayılan), PhysicalPartitionsOfTable, SapHanaDynamicRange. SAP HANA'dan paralel kopyalama bölümünden daha fazla bilgi edinin. PhysicalPartitionsOfTable yalnızca bir tablodan veri kopyalarken kullanılabilir ancak sorguda kullanılamaz. Bir bölüm seçeneği etkinleştirildiğinde (yani değil None ), SAP HANA'dan verileri eşzamanlı olarak yüklemek için paralellik derecesi kopyalama etkinliğindeki parallelCopies ayar tarafından denetlenir. |
Yanlış |
partitionSettings | Veri bölümleme ayarlarının grubunu belirtin. Bölüm seçeneği olduğunda uygula seçeneğidir SapHanaDynamicRange . |
Yanlış |
partitionColumnName | Paralel kopyalama için bölüm tarafından kullanılacak kaynak sütunun adını belirtin. Belirtilmezse, tablonun dizini veya birincil anahtarı otomatik olarak algılanır ve bölüm sütunu olarak kullanılır. Bölüm seçeneği olduğunda SapHanaDynamicRange uygulayın. Kaynak verileri almak için bir sorgu kullanırsanız WHERE yan tümcesine bağlanın ?AdfHanaDynamicRangePartitionCondition . SAP HANA'dan paralel kopyalama bölümündeki örne bakın. |
Bölüm kullanırken SapHanaDynamicRange evet. |
packetSize | Verileri birden çok bloka bölmek için ağ paketi boyutunu (Kilobayt cinsinden) belirtir. Kopyalanacak çok miktarda veriniz varsa paket boyutunu artırmak çoğu durumda SAP HANA'dan okuma hızını artırabilir. Paket boyutu ayarlanırken performans testi önerilir. | Hayır Varsayılan değer 2048 'dir (2 MB). |
Örnek:
"activities":[
{
"name": "CopyFromSAPHANA",
"type": "Copy",
"inputs": [
{
"referenceName": "<SAP HANA input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "SapHanaSource",
"query": "<SQL query for SAP HANA>"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Yazılan kopyalama kaynağını kullandıysanız RelationalSource
, yine de olduğu gibi desteklenir, ancak bundan sonra yenisini kullanmanız önerilir.
SAP HANA'dan paralel kopyalama
SAP HANA bağlayıcısı, SAP HANA'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 almak için SAP HANA 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, belirtilen bölüm seçeneğinize ve ayarlarınıza göre aynı anda dört sorgu oluşturur ve çalıştırır ve her sorgu SAP HANA'nızdan verilerin bir bölümünü alır.
Özellikle SAP HANA'nızdan büyük miktarda veri aldığınızda 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: Tablonun fiziksel bölümleri. Yürütme sırasında hizmet, belirtilen SAP HANA tablosunun fiziksel bölüm türünü otomatik olarak algılar ve ilgili bölüm stratejisini seçer: - Aralık Bölümleme: Tablo için tanımlanan bölüm sütununu ve bölüm aralıklarını alın, ardından verileri aralığa göre kopyalayın. - Karma Bölümleme: Karma bölüm anahtarını bölüm sütunu olarak kullanın, ardından hizmet tarafından hesaplanan aralıklara göre verileri bölümleyin ve kopyalayın. - Hepsini Bir Kez Deneme Bölümleme veya Bölüm Yok: Birincil anahtarı bölüm sütunu olarak kullanın, ardından hizmet tarafından hesaplanan aralıklara göre verileri bölümleyin ve kopyalayın. |
Özel sorgu kullanarak büyük miktarda veri yükleyin. | Bölüm seçeneği: Dinamik aralık bölümü. Sorgu: SELECT * FROM <TABLENAME> WHERE ?AdfHanaDynamicRangePartitionCondition AND <your_additional_where_clause> .Bölüm sütunu: Dinamik aralık bölümünü uygulamak için kullanılan sütunu belirtin. Yürütme sırasında, hizmet önce belirtilen bölüm sütununun değer aralıklarını hesaplar, paralel kopyalama ayarının farklı bölüm sütun değerlerinin sayısına göre bir dizi demetteki satırları eşit olarak dağıtır, ardından her bölüm için bölüm sütunu değer aralığını filtreleme ile değiştirir ?AdfHanaDynamicRangePartitionCondition ve SAP HANA'ya gönderir.Bölüm sütunu olarak birden çok sütun kullanmak istiyorsanız, her sütunun değerlerini sorguda bir sütun olarak birleştirebilir ve bunu gibi SELECT * FROM (SELECT *, CONCAT(<KeyColumn1>, <KeyColumn2>) AS PARTITIONCOLUMN FROM <TABLENAME>) WHERE ?AdfHanaDynamicRangePartitionCondition bölüm sütunu olarak belirtebilirsiniz. |
Örnek: tablonun fiziksel bölümleriyle sorgu
"source": {
"type": "SapHanaSource",
"partitionOption": "PhysicalPartitionsOfTable"
}
Örnek: dinamik aralık bölümü olan sorgu
"source": {
"type": "SapHanaSource",
"query": "SELECT * FROM <TABLENAME> WHERE ?AdfHanaDynamicRangePartitionCondition AND <your_additional_where_clause>",
"partitionOption": "SapHanaDynamicRange",
"partitionSettings": {
"partitionColumnName": "<Partition_column_name>"
}
}
SAP HANA için veri türü eşlemesi
SAP HANA'dan veri kopyalarken, SAP HANA veri türlerinden hizmet içinde dahili olarak kullanılan ara veri türlerine aşağıdaki eşlemeler kullanılı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 .
SAP HANA veri türü | Ara hizmet veri türü |
---|---|
ALFANUM | String |
BIGINT | Int64 |
İKİLİ | Bayt[] |
BINTEXT | String |
BLOB | Bayt[] |
BOOL | Bayt |
CLOB | String |
DATE | DateTime |
ON -DA -LIK | Decimal |
ÇİFT | Çift |
FLOAT | Çift |
TAM SAYI | Int32 |
NCLOB | String |
NVARCHAR | String |
GERÇEK | Tekli |
SECONDDATE | DateTime |
KISAMET | String |
KÜÇÜKDECIMAL | Ondalık |
SMALLINT | Int16 |
STGEOMETRYTYPE | Bayt[] |
STPOINTTYPE | Bayt[] |
METİN | String |
TIME | TimeSpan |
TINYINT | Bayt |
VARCHAR | String |
TIMESTAMP | DateTime |
VARBINARY | Bayt[] |
SAP HANA havuzu
Şu anda SAP HANA bağlayıcısı havuz olarak desteklenmezken, SAP HANA sürücüsüyle genel ODBC bağlayıcısını kullanarak SAP HANA'ya veri yazabilirsiniz.
Şirket içinde barındırılan Tümleştirme Çalışma Zamanı'nı ayarlamak ve önce SAP HANA ODBC sürücüsünü yüklemek için Önkoşullar'ı izleyin. Aşağıdaki örnekte gösterildiği gibi SAP HANA veri deponuza bağlanmak için bir ODBC bağlı hizmeti oluşturun, ardından odbc türüne uygun veri kümesi ve kopyalama etkinliği havuzu oluşturun. ODBC bağlayıcısı makalesinden daha fazla bilgi edinin.
{
"name": "SAPHANAViaODBCLinkedService",
"properties": {
"type": "Odbc",
"typeProperties": {
"connectionString": "Driver={HDBODBC};servernode=<HANA server>.clouddatahub-int.net:30015",
"authenticationType": "Basic",
"userName": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
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ı.