Memindahkan data dari SAP Business Warehouse menggunakan Azure Data Factory
Catatan
Artikel ini berlaku untuk versi 1 dari Azure Data Factory. Jika Anda menggunakan versi layanan Azure Data Factory saat ini, lihat konektor SAP Business Warehouse di V2 .
Artikel ini menjelaskan cara menggunakan Aktivitas Salin di Azure Data Factory untuk memindahkan data dari Gudang Bisnis SAP (BW) lokal. Ini dibuat pada artikel Aktivitas Pergerakan Data, yang menyajikan ikhtisar umum pergerakan data dengan aktivitas salin.
Anda dapat menyalin data dari penyimpanan data SAP Business Warehouse lokal ke penyimpanan data sink yang didukung. Untuk daftar penyimpanan data yang didukung sebagai sink oleh aktivitas salin, lihat tabel Penyimpanan data yang didukung. Pabrik data saat ini hanya mendukung pemindahan data dari SAP Business Warehouse ke penyimpanan data lain, tetapi tidak untuk memindahkan data dari penyimpanan data lain ke SAP Business Warehouse.
Versi dan instalasi yang didukung
Konektor ini mendukung SAP Business Warehouse versi 7.x. Ini mendukung penyalinan data dari InfoCubes dan QueryCubes (termasuk kueri BEx) menggunakan kueri MDX.
Untuk mengaktifkan konektivitas ke instans SAP Business Warehouse, instal komponen berikut:
- Data Management Gateway: Layanan Azure Data Factory mendukung menyambungkan ke penyimpanan data lokal (termasuk SAP Business Warehouse) menggunakan komponen yang disebut Data Management Gateway. Untuk mempelajari tentang Data Management Gateway dan instruksi langkah demi langkah untuk menyiapkan gateway, lihat Memindahkan data antara penyimpanan data lokal ke artikel penyimpanan data cloud. Gateway diperlukan bahkan jika SAP Business Warehouse dihosting di mesin virtual Azure IaaS (VM). Anda dapat menginstal gateway pada VM yang sama dengan penyimpanan data atau di VM lain selama gateway bisa terhubung ke database.
- Perpustakaan SAP NetWeaver di mesin gateway. Anda bisa mendapatkan perpustakaan SAP Netweaver dari administrator SAP Anda, atau langsung dari Pusat Unduhan Perangkat Lunak SAP. Cari SAP Note #1025361 untuk mendapatkan lokasi unduhan untuk versi terbaru. Pastikan arsitektur untuk perpustakaan SAP NetWeaver (32-bit atau 64-bit) cocok dengan instalasi gateway Anda. Kemudian instal semua file yang disertakan dalam SAP NetWeaver RFC SDK sesuai dengan SAP Note. Pustaka SAP NetWeaver juga disertakan dalam instalasi SAP Client Tools.
Tip
Masukkan dll yang diekstrak dari NetWeaver RFC SDK ke dalam folder system32.
Memulai
Anda dapat membuat alur dengan aktivitas salin yang memindahkan data dari penyimpanan data Cassandra lokal dengan menggunakan alat/API yang berbeda.
- Cara termudah untuk membuat alur adalah dengan menggunakan Wizard Salin. Lihat Tutorial: Membuat alur menggunakan Wizard Salin untuk panduan singkat tentang membuat alur menggunakan Wizard Salin data.
- Anda juga dapat menggunakan alat berikut untuk membuat pipeline: Visual Studio, Azure PowerShell, template Azure Resource Manager, .NET API, dan REST API. Lihat Tutorial aktivitas penyalinan untuk instruksi langkah demi langkah guna membuat alur dengan aktivitas penyalinan.
Baik Anda menggunakan alat atau API, Anda melakukan langkah-langkah berikut untuk membuat alur yang memindahkan data dari penyimpanan data sumber ke penyimpanan data sink:
- Buat layanan tertaut untuk menautkan penyimpanan data input dan output ke pabrik data Anda.
- Buat kumpulan data untuk mewakili data input dan output untuk operasi salin.
- Buat jalur dengan aktivitas salinan yang mengambil set data sebagai input dan set data sebagai output.
Saat Anda menggunakan wizard, definisi JSON untuk entitas Data Factory ini (layanan tertaut, himpunan data, dan alur) secara otomatis dibuat untuk Anda. Saat Anda menggunakan alat/API (kecuali .NET API), Anda menentukan entitas Data Factory ini dengan menggunakan format JSON. Untuk sampel dengan definisi JSON untuk entitas Data Factory yang digunakan untuk menyalin data dari Gudang Bisnis SAP lokal, lihat contoh JSON: Menyalin data dari SAP Business Warehouse ke bagian Azure Blob dari artikel ini.
Bagian berikut memberikan detail tentang properti JSON yang digunakan untuk menentukan entitas Azure Data Factory khusus untuk penyimpanan data SAP Business Warehouse:
Properti layanan tertaut
Tabel berikut ini menyediakan deskripsi untuk elemen JSON khusus untuk layanan tertaut SAP Azure Business Warehouse (BW).
| Properti | Deskripsi | Nilai yang diizinkan | Diperlukan |
|---|---|---|---|
| server | Nama server tempat instans SAP Business Warehouse berada. | string | Ya |
| systemNumber | Nomor sistem SAP Business Warehouse. | Angka desimal dua digit yang dinyatakan sebagai string. | Ya |
| clientId | ID klien dalam sistem SAP W. | Angka desimal tiga digit yang dinyatakan sebagai string. | Ya |
| username | Nama pengguna yang memiliki akses ke server SAP | string | Ya |
| kata sandi | Kata sandi untuk pengguna. | string | Ya |
| gatewayName | Nama gateway yang harus digunakan layanan Azure Data Factory untuk menyambungkan ke instans SAP Business Warehouse lokal. | string | Ya |
| encryptedCredential | String kredensial terenkripsi. | string | Tidak |
Properti himpunan data
Untuk daftar lengkap bagian properti & yang tersedia untuk menentukan himpunan data, lihat artikel Membuat himpunan data. Bagian-bagian seperti struktur, ketersediaan, dan kebijakan himpunan data JSON mirip untuk semua jenis himpunan data (Azure SQL, blob Azure, tabel Azure, dll.).
Bagian typeProperties berbeda untuk setiap jenis himpunan data dan menyediakan informasi tentang lokasi data di penyimpanan data. Tidak ada properti jenis-spesifik yang didukung untuk himpunan data SAP Business Warehouse jenis RelationalTable.
Properti aktivitas salin
Untuk daftar lengkap bagian & properti yang tersedia untuk menentukan aktivitas, lihat artikel Membuat Alur. Properti seperti nama, deskripsi, tabel input dan output, dan kebijakan tersedia untuk semua jenis aktivitas.
Sedangkan properti yang tersedia di bagian typeProperties aktivitas bervariasi menurut setiap jenis aktivitas. Untuk aktivitas Salin, ini bervariasi tergantung pada jenis sumber dan sink.
Ketika sumber dalam aktivitas salin berdasarkan jenis RelationalSource (yang mencakup SAP Business Warehouse), properti berikut ini tersedia di bagian typeProperties:
| Properti | Deskripsi | Nilai yang diizinkan | Diperlukan |
|---|---|---|---|
| kueri | Menentukan kueri MDX untuk membaca data dari instans SAP Business Warehouse. | Kueri MDX. | Ya |
Contoh JSON: Menyalin data dari SAP Business Warehouse ke Azure Blob
Contoh berikut ini menyediakan contoh definisi JSON yang bisa Anda gunakan untuk membuat alur dengan menggunakan Visual Studio atau Azure PowerShell. Contoh ini memperlihatkan cara menyalin data dari SAP Business Warehouse lokal ke Azure Blob Storage. Namun, data dapat disalin langsung ke salah satu sink yang dinyatakan di sini menggunakan Aktivitas Salin di Azure Data Factory.
Penting
Sampel ini menyediakan cuplikan JSON. Hal ini tidak termasuk instruksi langkah demi langkah untuk membuat pabrik data. Lihat artikelmemindahkan data antara lokasi lokal dan artikel cloud untuk instruksi langkah demi langkah.
Sampel memiliki entitas Data Factory berikut:
- Layanan tertaut jenis SapBw.
- Layanan tertaut jenis AzureStorage.
- Sebuah input himpunan data jenis RelationalTable.
- Sebuah output himpunan data jenis AzureBlob.
- alur dengan Aktivitas Salin yang menggunakan RelationalSource dan BlobSink.
Sampel menyalin data dari instans SAP Business Warehouse ke blob Azure per jam. Properti JSON yang digunakan dalam sampel ini dijelaskan dalam beberapa bagian setelah sampel.
Sebagai langkah pertama, siapkan data management gateway. Lihat artikel memindahkan data antara lokasi lokal dan artikel cloud untuk instruksi langkah demi langkah.
Layanan tertaut SAP Business Warehouse
Layanan tertaut ini menghubungkan instans SAP Business Warehouse Anda ke data factory. Properti jenis diatur ke SapBw. Bagian typeProperties menyediakan informasi koneksi untuk instans SAP Business Warehouse.
{
"name": "SapBwLinkedService",
"properties":
{
"type": "SapBw",
"typeProperties":
{
"server": "<server name>",
"systemNumber": "<system number>",
"clientId": "<client id>",
"username": "<SAP user>",
"password": "<Password for SAP user>",
"gatewayName": "<gateway name>"
}
}
}
Layanan tertaut Microsoft Azure Storage
Layanan tertaut Microsoft Azure Storage menautkan akun penyimpanan Azure Anda ke data factory. Properti jenis diatur ke AzureStorage. Bagian typeProperties menyediakan informasi koneksi untuk akun Microsoft Azure Storage.
{
"name": "AzureStorageLinkedService",
"properties": {
"type": "AzureStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
}
}
}
Himpunan data input SAP Business Warehouse
Himpunan data ini mendefinisikan himpunan data SAP Business Warehouse. Anda mengatur jenis himpunan data Azure Data Factory ke RelationalTable. Saat ini, Anda tidak menentukan properti spesifik jenis apa pun untuk himpunan data SAP Business Warehouse. Kueri dalam definisi Aktivitas Salin menentukan data apa yang akan dibaca dari instans SAP Business Warehouse.
Mengatur properti eksternal ke true menginformasikan layanan Data Factory bahwa himpunan data berada di luar Data Factory dan tidak diproduksi oleh aktivitas di Data Factory.
Properti frekuensi dan interval menentukan jadwal. Dalam hal ini, data dibaca dari instans SAP Business Warehouse per jam.
{
"name": "SapBwDataset",
"properties": {
"type": "RelationalTable",
"linkedServiceName": "SapBwLinkedService",
"typeProperties": {},
"availability": {
"frequency": "Hour",
"interval": 1
},
"external": true
}
}
Himpunan data output Azure Blob
Himpunan data ini menentukan output himpunan data Azure Blob. Properti jenis diatur ke AzureBlob. Bagian typeProperties menyediakan tempat data yang disalin dari instans SAP Business Warehouse disimpan. Data ditulis ke blob baru setiap jam (frekuensi: jam, interval: 1). Jalur folder untuk blob dievaluasi secara dinamis berdasarkan waktu mulai irisan yang sedang diproses. Jalur folder menggunakan bagian tahun, bulan, hari, dan jam dari waktu mulai.
{
"name": "AzureBlobDataSet",
"properties": {
"type": "AzureBlob",
"linkedServiceName": "AzureStorageLinkedService",
"typeProperties": {
"folderPath": "mycontainer/sapbw/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
}
}
}
Alur dengan aktivitas Salin
Alur berisi Aktivitas Salin yang dikonfigurasi untuk menggunakan himpunan data input dan output dan dijadwalkan untuk berjalan setiap jam. Dalam definisi alur JSON, jenis sumber diatur ke RelationalSource (untuk sumber SAP Business Warehouse) dan jenis sink diatur ke BlobSink. Kueri yang ditentukan untuk properti kueri memilih data dalam satu jam terakhir untuk disalin.
{
"name": "CopySapBwToBlob",
"properties": {
"description": "pipeline for copy activity",
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "RelationalSource",
"query": "<MDX query for SAP BW>"
},
"sink": {
"type": "BlobSink",
"writeBatchSize": 0,
"writeBatchTimeout": "00:00:00"
}
},
"inputs": [
{
"name": "SapBwDataset"
}
],
"outputs": [
{
"name": "AzureBlobDataSet"
}
],
"policy": {
"timeout": "01:00:00",
"concurrency": 1
},
"scheduler": {
"frequency": "Hour",
"interval": 1
},
"name": "SapBwToBlob"
}
],
"start": "2017-03-01T18:00:00Z",
"end": "2017-03-01T19:00:00Z"
}
}
Ketik pemetaan untuk SAP Business Warehouse
Seperti disebutkan dalam artikel aktivitas pergerakan data, aktivitas Salin melakukan konversi jenis otomatis dari jenis sumber ke jenis sink dengan pendekatan dua langkah berikut:
- Konversi dari jenis sumber asli menjadi jenis .NET
- Konversi dari jenis .NET ke jenis sink asli
Saat memindahkan data dari SAP Business Warehouse, pemetaan berikut digunakan dari jenis SAP Business Warehouse ke jenis .NET.
| Tipe data dalam Kamus ABAP | Tipe Data .NET |
|---|---|
| ACCP | Int |
| CHAR | String |
| CLNT | String |
| CURR | Desimal |
| CUKY | String |
| DEC | Desimal |
| FLTP | Double |
| INT1 | Byte |
| INT2 | Int16 |
| INT4 | Int |
| LANG | String |
| LCHR | String |
| LRAW | Byte[] |
| PREC | Int16 |
| QUAN | Desimal |
| RAW | Byte[] |
| RAWSTRING | Byte[] |
| STRING | String |
| UNIT | String |
| DATS | String |
| NUMC | String |
| TIMS | String |
Catatan
Untuk memetakan kolom dari set data sumber ke kolom dari set data sink, lihat Memetakan kolom set data di Azure Data Factory.
Memetakan sumber untuk kolom sink
Untuk mempelajari tentang pemetaan kolom dari himpunan data sumber ke kolom dalam himpunan data sink, lihat Memetakan kolom himpunan data di Azure Data Factory.
Bacaan berulang dari sumber relasional
Saat menyalin data dari penyimpanan data relasional, ingatlah pengulangan untuk menghindari hasil yang tidak diinginkan. Di Azure Data Factory, Anda dapat menjalankan ulang irisan secara manual. Anda juga dapat mengonfigurasi kebijakan coba lagi untuk himpunan data sehingga irisan diulang saat kegagalan terjadi. Saat irisan diulang dengan cara apa pun, Anda perlu memastikan bahwa data yang sama dibaca tidak peduli berapa kali irisan dijalankan. Lihat Bacaan yang dapat diulang dari sumber relasional
Kinerja dan Penyetelan
Lihat Performa Aktivitas Penyalinan & Panduan Pengaturan untuk mempelajari tentang faktor utama yang memengaruhi performa perpindahan data (Aktivitas Penyalinan) di Azure Data Factory dan berbagai cara untuk mengoptimalkannya.