Salin data dari SAP HANA menggunakan Azure Data Factory atau Synapse Analytics

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menjelaskan cara menggunakan Aktivitas Penyalinan 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.

Tip

Untuk mempelajari tentang dukungan keseluruhan untuk skenario integrasi data SAP, lihat laporan resmi integrasi data SAP dengan pengenalan mendetail pada setiap konektor SAP, perbandingan, dan panduan SAP.

Kemampuan yang didukung

Konektor SAP Hana ini didukung untuk kemampuan berikut:

Kemampuan yang didukung IR
Salin aktivitas (sumber/sink)
Aktivitas pencarian

① Runtime integrasi Azure ② 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 Kalkulasi) dan tabel Baris/Kolom.
  • Menyalin data menggunakan autentikasiDasar atau Windows.
  • Menyalin paralel dari sumber SAP Hana. Lihat bagian Salin paralel dari SAP Hana untuk detailnya.

Tip

Untuk menyalin data ke penyimpanan data SAP Hana, gunakan konektor ODBC generik. Lihat sink SAP Hana dengan detail. Perhatikan layanan tertaut untuk konektor SAP Hana dan konektor ODBC dengan jenis yang berbeda sehingga tidak dapat digunakan kembali.

Prasyarat

Untuk menggunakan konektor SAP Hana ini, Anda perlu:

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Buat layanan tertaut ke SAP Hana menggunakan Antarmuka Pengguna

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke SAP Hana di Antarmuka Pengguna portal Microsoft Azure.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari SAP dan pilih konektor SAP Hana.

    Screenshot of the SAP HANA connector.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Screenshot of linked service configuration for SAP HANA.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas Data Factory tertentu untuk konektor SAP Hana.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut SAP Hana:

Properti Deskripsi Wajib
jenis Jenis properti harus diatur ke: SapHana Ya
connectionString Tentukan informasi yang diperlukan untuk menyambungkan ke SAP Hana dengan menggunakan autentikasi dasar atau autentikasi Windows. Lihat sampel berikut.
Dalam string koneksi, server/port diwajibkan (port default adalah 30015), dan nama pengguna dan kata sandi diwajibkan saat menggunakan autentikasi dasar. Untuk pengaturan lanjutan tambahan, lihat Properti Koneksi SAP Hana ODBC
Anda juga dapat menyimpan kata sandi di Azure Key Vault dan menarik konfigurasi kata sandi dari string koneksi. Lihat artikel Simpan info masuk di Azure Key Vault dengan detail selengkapnya.
Ya
userName Tentukan nama pengguna ketika menggunakan autentikasi Windows. Contoh: user@domain.com Tidak
kata sandi Tentukan kata sandi untuk akun pengguna. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau mereferensikan rahasia yang disimpan di Azure Key Vault. Tidak
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Runtime integrasi yang dihost sendiri diperlukan seperti yang disebutkan dalam Prasyarat. Ya

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 menggunakan layanan tertaut SAP Hana dengan payload berikut, layanan ini masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.

Contoh:

{
    "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 himpunan 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 didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke: SapHanaTable Ya
skema Nama skema dalam database SAP Hana. Tidak (jika "kueri" di sumber aktivitas ditentukan)
tabel Nama tabel dalam database SAP Hana. Tidak (jika "kueri" di sumber aktivitas ditentukan)

Contoh:

{
    "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 untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber SAP Hana.

SAP Hana sebagai sumber

Tip

Untuk menelan data dari SAP Hana secara efisien dengan menggunakan pema data, pelajari lebih lanjut dari bagian Salinan paralel dari SAP Hana.

Untuk menyalin data dari SAP Hana, properti berikut ini didukung di bagiansumber aktivitas salin:

Properti Deskripsi Wajib
jenis Properti jenis dari sumber aktivitas salin harus diatur ke SapHanaSource Ya
pertanyaan Menentukan kueri SQL untuk membaca data dari instans SAP Hana. Ya
partitionOptions Menentukan opsi pemartisian data yang digunakan untuk menelan data dari SAP Hana. Pelajari lebih lanjut dari bagian Salinan paralel dari SAP Hana.
Nilai yang tidak diizinkan: Tidak ada (default), PhysicalPartitionsOfTable, SapHanaDynamicRange. Pelajari lebih lanjut dari bagian Salinan paralel dari SAP Hana. PhysicalPartitionsOfTable hanya bisa digunakan saat menyalin data dari tabel tetapi tidak kueri.
Ketika opsi partisi diaktifkan (yaitu, bukan None), tingkat paralelisme untuk secara bersamaan memuat data dari SAP Hana dikendalikan oleh pengaturan parallelCopies pada aktivitas salin.
Palsu
partitionSettings Tentukan grup pengaturan untuk pemartisian data.
Terapkan saat opsi partisi adalah SapHanaDynamicRange.
Palsu
partitionColumnName Tentukan nama kolom sumber yang akan digunakan oleh partisi untuk salinan paralel. Jika tidak ditentukan, indeks atau kunci primer 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 di klausul WHERE. Lihat contoh di bagian Penyalinan paralel dari SAP Hana.
Ya saat menggunakan SapHanaDynamicRange partisi. 
packetSize Menentukan ukuran paket jaringan (dalam Kilobyte) untuk memisahkan data menjadi 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. Nomor.
Nilai default adalah 2048 (2MB).

Contoh:

"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 salin yang diketik, itu masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru di masa mendatang.

Penyalinan paralel dari SAP Hana

Konektor SAP HANA menyediakan pemartisian data bawaan untuk menyalin data dari SAP HANA secara paralel. Anda dapat menemukan opsi pemartisian data pada tabel Sumber aktivitas salin.

Screenshot of partition options

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.

Sebaiknya Anda mengaktifkan penyalinan paralel dengan pemartisian data terutama ketika Anda memuat 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: Partisi fisik tabel.

Selama eksekusi, layanan secara otomatis mendeteksi jenis partisi fisik dari tabel SAP HANA yang ditentukan, dan memilih strategi partisi yang sesuai:
- Pemartisian Rentang: Tentukan kolom partisi dan rentang partisi untuk tabel, lalu salin data menurut rentang.
- Pemartisian Hash: Gunakan kunci partisi hash sebagai kolom partisi, lalu partisi dan salin data berdasarkan rentang yang dihitung oleh layanan.
- Pemartisian Round-Robin atau No Partition: Gunakan kunci utama sebagai kolom partisi, kemudian partisi dan salin data berdasarkan rentang yang dihitung oleh layanan.
Memuat sejumlah besar data dengan menggunakan kueri kustom. Opsi partisi: Partisi 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 pertama-tama 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, kemudian mengganti ?AdfHanaDynamicRangePartitionCondition dengan memfilter rentang nilai kolom partisi untuk setiap partisi, dan mengirimkan ke SAP HANA.

Jika Anda ingin menggunakan beberapa kolom sebagai kolom partisi, Anda dapat menggabungkan nilai setiap kolom sebagai satu kolom dalam kueri dan menetapkannya 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 tipe data SAP HANA ke tipe 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
ALPHANUM String
BIGINT Int64
BINER Byte[]
BINTEXT String
BLOB Byte[]
BOOL Byte
CLOB String
TANGGAL DateTime
DECIMAL Decimal
DOUBLE Laju
FLOAT Laju
INTEGER Int32
NCLOB String
NVARCHAR String
REAL Tunggal
SECONDDATE DateTime
SHORTTEXT String
SMALLDECIMAL Decimal
SMALLINT Int16
STGEOMETRYTYPE Byte[]
STPOINTTYPE Byte[]
TEXT String
TIME TimeSpan
TINYINT Byte
VARCHAR String
TANDA WAKTU DateTime
VARBINARY Byte[]

SAP Hana sink

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 Prasyarat untuk menyiapkan Self-Hosted Integration Runtime dan memasang 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 lebih lanjut 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

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.