Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk
Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.
Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory dan Synapse Analytics untuk menyalin data dari database SAP Hana. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.
Petunjuk
Untuk mempelajari tentang dukungan keseluruhan untuk skenario integrasi data SAP, lihat whitepaper integrasi data SAP dengan pengenalan terperinci pada setiap konektor, perbandingan, dan panduan SAP.
Kemampuan yang didukung
Konektor SAP Hana ini didukung untuk kemampuan berikut:
| Kemampuan yang didukung | IR |
|---|---|
| Copy activity (sumber/sink) | ② |
| Aktivitas pencarian | ② |
(1) Azure runtime integrasi (2) Runtime integrasi yang dihost sendiri
Untuk daftar penyimpanan data yang didukung sebagai sumber/sink oleh aktivitas salin, lihat tabel Penyimpanan data yang didukung .
Secara khusus, konektor SAP Hana ini mendukung:
- Menyalin data dari versi database SAP Hana apa pun.
- Menyalin data dari model informasi HANA (seperti tampilan Analitik dan Perhitungan) dan tabel Baris/Kolom.
- Menyalin data menggunakan Basic atau Windows autentikasi.
- Penyalinan paralel dari sumber SAP Hana. Lihat bagian Parallel dari SAP Hana untuk detailnya.
Petunjuk
Untuk menyalin data into SAP Hana penyimpanan data, gunakan konektor ODBC generik. Lihat bagian SAP Hana sink dengan detail. Perhatikan layanan tertaut untuk konektor SAP Hana dan konektor ODBC dengan jenis yang berbeda sehingga tidak dapat digunakan kembali.
Prerequisites
Untuk menggunakan konektor SAP Hana ini, Anda perlu:
- Siapkan Integration Runtime yang Dihost sendiri. Lihat artikel Self-hosted Integration Runtime untuk detailnya.
- Instal driver ODBC SAP Hana pada komputer Integration Runtime. Anda dapat mengunduh driver ODBC SAP Hana dari SAP Software Download Center. Cari dengan kata kunci SAP Hana CLIENT untuk Windows.
Memulai Langkah Pertama
Untuk melakukan aktivitas salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:
- Alat Salin Data
- Portal Azure
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- templat Azure Resource Manager
Membuat layanan tertaut ke SAP Hana menggunakan UI
Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke SAP Hana di UI portal Azure.
Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:
Cari SAP dan pilih konektor SAP Hana.
Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.
Detail konfigurasi konektor
Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor SAP Hana.
Properti layanan yang terhubung
Properti berikut ini didukung untuk layanan terhubung SAP Hana:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis harus disetel ke: SapHana | Yes |
| String Koneksi | Tentukan informasi yang diperlukan untuk menyambungkan ke SAP Hana dengan menggunakan autentikasi basic atau Windows authentication. Lihat sampel berikut. Dalam string koneksi, server/port wajib (port default adalah 30015), dan nama pengguna dan kata sandi wajib saat menggunakan autentikasi dasar. Untuk pengaturan tingkat lanjut tambahan, lihat SAP Hana Properti Koneksi ODBC Anda juga dapat memasukkan kata sandi ke Azure Key Vault dan menarik konfigurasi kata sandi keluar dari string koneksi. Lihat artikel Simpan kredensial di Azure Key Vault untuk lebih jelasnya. |
Yes |
| userName | Tentukan nama pengguna saat menggunakan Windows authentication. Contoh: user@domain.com |
Tidak |
| kata sandi | Tentukan kata sandi untuk akun pengguna. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau referensi rahasia yang disimpan di Azure Key Vault. | Tidak |
| connectVia | Integration Runtime yang akan digunakan untuk menyambungkan ke penyimpanan data. Integration Runtime yang dihost sendiri diperlukan seperti yang disebutkan dalam Prerequisites. | Yes |
Contoh: gunakan autentikasi dasar
{
"name": "SapHanaLinkedService",
"properties": {
"type": "SapHana",
"typeProperties": {
"connectionString": "SERVERNODE=<server>:<port (optional)>;UID=<userName>;PWD=<Password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Contoh: gunakan autentikasi Windows
{
"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"
}
}
}
Jika Anda menggunakan layanan tertaut SAP Hana dengan payload berikut, layanan ini masih didukung as-is, sementara Anda disarankan untuk menggunakan yang baru ke depannya.
Example:
{
"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"
}
}
}
Properti kumpulan data
Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel himpunan data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data SAP Hana.
Untuk menyalin data dari SAP Hana, properti berikut ini didukung:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti tipe dari himpunan data harus diatur ke: SapHanaTable | Yes |
| skema | Nama skema dalam database SAP Hana. | Tidak (jika "kueri" di sumber aktivitas spesifik) |
| tabel | Nama tabel dalam database SAP Hana. | Tidak (jika "kueri" di sumber aktivitas spesifik) |
Example:
{
"name": "SAPHANADataset",
"properties": {
"type": "SapHanaTable",
"typeProperties": {
"schema": "<schema name>",
"table": "<table name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<SAP HANA linked service name>",
"type": "LinkedServiceReference"
}
}
}
Jika Anda menggunakan himpunan data berjenis RelationalTable, himpunan data tersebut masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.
Properti Aktivitas Salin
Untuk daftar lengkap bagian dan properti yang tersedia guna mendefinisikan aktivitas, silakan lihat artikel Pipeline. Bagian ini menyediakan daftar properti yang didukung oleh sumber SAP Hana.
SAP Hana sebagai sumber
Petunjuk
Untuk mengambil data dari SAP Hana secara efisien dengan menggunakan partisi data, pelajari lebih lanjut dari bagian penyalinan paralel dari SAP Hana.
Untuk menyalin data dari SAP Hana, properti berikut ini didukung di bagian aktivitas salin source:
| Properti | Deskripsi | Wajib |
|---|---|---|
| jenis | Properti jenis sumber aktivitas salin harus diatur ke: SapHanaSource | Yes |
| kueri | Menentukan kueri SQL untuk membaca data dari instans SAP Hana. | Yes |
| partitionOptions | Menentukan opsi pemartisian data yang digunakan untuk menyerap data dari SAP Hana. Pelajari selengkapnya dari bagian Penyalinan Paralel dari SAP Hana. Nilai yang diizinkan adalah: Tidak ada (default), PhysicalPartitionsOfTable, SapHanaDynamicRange. Pelajari lebih lanjut dari bagian Penyalinan Paralel dari SAP Hana. PhysicalPartitionsOfTable hanya dapat digunakan saat menyalin data dari tabel tetapi bukan kueri. Ketika opsi partisi diaktifkan (yaitu, bukan None), tingkat paralelisme untuk memuat data secara bersamaan dari SAP Hana dikendalikan oleh pengaturan parallelCopies pada aktivitas salin. |
False |
| pengaturan partisi | Tentukan grup pengaturan untuk pemartisian data. Terapkan saat opsi partisi adalah SapHanaDynamicRange. |
False |
| partitionColumnName | Tentukan nama kolom sumber yang akan digunakan oleh partisi untuk salinan paralel. Jika tidak ditentukan, indeks atau kunci utama tabel terdeteksi secara otomatis dan digunakan sebagai kolom partisi. Terapkan saat opsi partisi adalah SapHanaDynamicRange. Jika Anda menggunakan kueri untuk mengambil data sumber, kaitkan ?AdfHanaDynamicRangePartitionCondition dalam klausa WHERE. Lihat contoh di bagian Salinan Paralel dari SAP Hana. |
Ya, saat menggunakan SapHanaDynamicRange partisi. |
| ukuran paket | Menentukan ukuran paket jaringan (dalam Kilobyte) untuk membagi data ke beberapa blok. Jika Anda memiliki sejumlah besar data untuk disalin, meningkatkan ukuran paket dapat meningkatkan kecepatan membaca dari SAP Hana dalam banyak kasus. Pengujian performa disarankan saat menyesuaikan ukuran paket. | No. Nilai defaultnya adalah 2048 (2MB). |
Example:
"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>"
}
}
}
]
Jika Anda menggunakan RelationalSource sumber salinan yang diketik, sumber salinan tersebut tetap didukung dalam bentuk sekarang, sementara Anda disarankan untuk menggunakan yang baru ke depannya.
Salinan paralel dari SAP Hana
Konektor SAP Hana menyediakan partisi data bawaan untuk menyalin data dari SAP Hana secara paralel. Anda dapat menemukan opsi pemartisian data pada tabel Sumber aktivitas salin.
Saat Anda mengaktifkan salinan yang dipartisi, layanan menjalankan kueri paralel terhadap sumber SAP Hana Anda untuk mengambil data berdasarkan partisi. Derajat paralel dikendalikan oleh pengaturan parallelCopies pada aktivitas salin. Misalnya, jika Anda mengatur parallelCopies ke empat, layanan secara bersamaan menghasilkan dan menjalankan empat kueri berdasarkan opsi dan pengaturan partisi yang Anda tentukan, dan setiap kueri mengambil sebagian data dari SAP Hana Anda.
Anda disarankan untuk mengaktifkan penyalinan paralel dengan pemartisian data terutama saat Anda menyerap sejumlah besar data dari SAP Hana Anda. Berikut ini adalah konfigurasi yang disarankan untuk skenario yang berbeda. Saat menyalin data ke penyimpanan data berbasis file, disarankan untuk menulis ke folder sebagai beberapa file (hanya tentukan nama folder), dalam hal ini performanya lebih baik daripada menulis ke satu file.
| Skenario | Pengaturan yang disarankan |
|---|---|
| Pemuatan penuh dari tabel besar. |
Opsi partisi: Pembagian fisik dari tabel. Selama eksekusi, layanan secara otomatis mendeteksi jenis partisi fisik tabel SAP Hana yang ditentukan, dan memilih strategi partisi yang sesuai: - Pemartisian Rentang: Dapatkan kolom partisi dan rentang partisi yang ditentukan untuk tabel, lalu salin data menurut rentang. - Partisi Hash: Gunakan kunci partisi hash sebagai kolom partisi, lalu partisi dan salin data berdasarkan rentang yang dihitung oleh layanan. - Round-Robin Partitioning atau Tanpa Partisi: Gunakan kunci primer sebagai kolom partisi, lalu partisi data berdasarkan rentang yang dihitung oleh layanan. |
| Muat data dalam jumlah besar dengan menggunakan kueri kustom. |
Opsi partisi: Opsi pembagian rentang dinamis. Kueri: SELECT * FROM <TABLENAME> WHERE (?AdfHanaDynamicRangePartitionCondition) AND <your_additional_where_clause>.Kolom partisi: Tentukan kolom yang digunakan untuk menerapkan partisi rentang dinamis. Selama eksekusi, layanan terlebih dahulu menghitung rentang nilai kolom partisi yang ditentukan, dengan mendistribusikan baris secara merata dalam sejumlah wadah sesuai dengan jumlah nilai kolom partisi yang berbeda pengaturan salinan paralel, lalu mengganti ?AdfHanaDynamicRangePartitionCondition dengan memfilter rentang nilai kolom partisi untuk setiap partisi, dan mengirim ke SAP Hana.Jika Anda ingin menggunakan beberapa kolom sebagai kolom partisi, Anda bisa menggabungkan nilai setiap kolom sebagai satu kolom dalam kueri dan menentukannya sebagai kolom partisi, seperti SELECT * FROM (SELECT *, CONCAT(<KeyColumn1>, <KeyColumn2>) AS PARTITIONCOLUMN FROM <TABLENAME>) WHERE (?AdfHanaDynamicRangePartitionCondition). |
Contoh: kueri dengan partisi fisik tabel
"source": {
"type": "SapHanaSource",
"partitionOption": "PhysicalPartitionsOfTable"
}
Contoh: kueri dengan partisi rentang dinamis
"source": {
"type": "SapHanaSource",
"query": "SELECT * FROM <TABLENAME> WHERE (?AdfHanaDynamicRangePartitionCondition) AND <your_additional_where_clause>",
"partitionOption": "SapHanaDynamicRange",
"partitionSettings": {
"partitionColumnName": "<Partition_column_name>"
}
}
Pemetaan jenis data untuk SAP Hana
Saat menyalin data dari SAP Hana, pemetaan berikut digunakan dari jenis data SAP Hana ke jenis data sementara yang digunakan secara internal dalam layanan. Lihat Pemetaan skema dan jenis data untuk mempelajari bagaimana aktivitas penyalinan memetakan skema sumber dan jenis data ke sink.
| jenis data SAP Hana | Jenis data layanan sementara |
|---|---|
| ALFANUM | String |
| BIGINT | Int64 |
| Biner | Byte[] |
| BINTEXT | String |
| BLOB | Byte[] |
| BOOL | Byte |
| CLOB | String |
| Tanggal | DateTime (Tanggal dan Waktu) |
| DECIMAL | Desimal |
| Gandakan | Ganda |
| FLOAT | Ganda |
| Bilangan Bulat | Int32 |
| NCLOB | String |
| NVARCHAR | String |
| Nyata | Tunggal |
| Tanggal Kedua | DateTime (Tanggal dan Waktu) |
| SHORTTEXT | String |
| Desimal Kecil | Desimal |
| SMALLINT | Int16 |
| STGEOMETRYTYPE | Byte[] |
| STPOINTTYPE | Byte[] |
| TEXT | String |
| WAKTU | TimeSpan |
| TINYINT | Byte |
| VARCHAR | String |
| TIMESTAMP | DateTime (Tanggal dan Waktu) |
| VARBINARY | Byte[] |
penampung SAP Hana
Saat ini, konektor SAP Hana tidak didukung sebagai sink, sementara Anda dapat menggunakan konektor ODBC generik dengan driver SAP Hana untuk menulis data ke SAP Hana.
Ikuti Prerequisites untuk menyiapkan Integration Runtime yang dihost sendiri dan menginstal driver SAP Hana ODBC terlebih dahulu. Buat layanan tertaut ODBC untuk menyambungkan ke penyimpanan data SAP Hana Anda seperti yang ditunjukkan dalam contoh berikut, lalu buat himpunan data dan salin sink aktivitas dengan jenis ODBC yang sesuai. Pelajari selengkapnya dari artikel konektor ODBC .
{
"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"
}
}
}
Properti aktivitas pencarian data
Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.
Konten terkait
Untuk daftar penyimpanan data yang didukung sebagai sumber dan pengumpan oleh aktivitas penyalinan, lihat penyimpanan data yang didukung.