Mengekspor data dari sistem SAP ke Google BigQuery melalui SAP Data Services

Petunjuk ini menunjukkan cara mengekspor data dari aplikasi SAP atau database dasarnya ke BigQuery menggunakan SAP Data Services (DS).

Database tersebut dapat berupa SAP HANA atau database lain yang didukung oleh SAP.

Contoh dalam panduan ini mengekspor tabel database SQL Anywhere, tetapi Anda dapat menggunakannya untuk menyiapkan ekspor jenis objek lainnya dari aplikasi SAP dan lapisan database ke BigQuery.

Anda dapat menggunakan ekspor data untuk mencadangkan data SAP atau untuk menggabungkan data dari sistem SAP dengan data konsumen dari sistem lain di BigQuery. Di sana, Anda dapat memperoleh insight dari machine learning dan untuk analisis data berskala petabyte.

Petunjuk ini ditujukan bagi administrator sistem SAP yang memiliki pengalaman dasar dalam konfigurasi SAP Basis, SAP DS, dan Google Cloud.

Arsitektur

Alur replikasi dimulai pada aplikasi atau database SAP dan meneruskan SAP Data Services ke BigQuery

SAP Data Services mengambil data dari aplikasi SAP atau database dasarnya, mengubah data agar kompatibel dengan format BigQuery, dan memulai tugas pemuatan yang memindahkan data ke BigQuery. Setelah tugas pemuatan selesai, data akan tersedia di BigQuery untuk dianalisis.

Ekspor adalah snapshot data dalam sistem sumber pada saat ekspor. Anda mengontrol kapan SAP Data Services memulai ekspor. Semua data yang ada dalam tabel BigQuery target akan ditimpa oleh data yang diekspor. Setelah ekspor selesai, data di BigQuery tidak akan disinkronkan dengan data di sistem sumber.

Dalam skenario ini, sistem sumber SAP dan SAP Data Services dapat dijalankan dengan baik di dalam maupun di luar Google Cloud.

Komponen solusi inti

Komponen berikut diperlukan untuk mengekspor data dari aplikasi SAP atau dari database ke BigQuery dengan menggunakan SAP Data Services:

Komponen Versi yang diperlukan Catatan
Stack server aplikasi SAP Semua Sistem SAP berbasis ABAP yang dimulai dengan R/3 4.6C Dalam panduan ini, server aplikasi dan server database secara kolektif disebut sebagai sistem sumber, meskipun jika keduanya dijalankan di mesin yang berbeda.

Menentukan pengguna RFC dengan otorisasi yang sesuai

Opsional: menentukan ruang tabel terpisah untuk tabel logging
Sistem database (DB) Setiap versi DB yang tercantum sebagai didukung dalam Matriks Ketersediaan Produk (PAM) SAP, tunduk pada batasan stack SAP NetWeaver yang tercantum dalam PAM.
SAP Data Services SAP Data Services 4.2 SP1 atau yang lebih tinggi
BigQuery T/A

Biaya

BigQuery adalah komponen Google Cloud yang dapat ditagih.

Gunakan Kalkulator Harga untuk membuat perkiraan biaya berdasarkan penggunaan yang Anda proyeksikan.

Prasyarat

Petunjuk ini mengasumsikan bahwa sistem aplikasi SAP, server database, dan SAP Data Services sudah diinstal dan dikonfigurasi untuk operasi normal.

Periksa di SAP untuk memastikan bahwa konfigurasi yang Anda rencanakan sesuai dengan persyaratan pemberian lisensi SAP. Persyaratan tersebut mungkin berbeda, bergantung pada apakah Anda mengekspor data dari sistem aplikasi SAP atau dari database dasar.

Menyiapkan project Google Cloud di Google Cloud

Sebelum dapat menggunakan BigQuery, Anda memerlukan project Google Cloud.

Membuat project Google Cloud

  1. Buka konsol Google Cloud lalu mendaftarlah dengan menelusuri wizard penyiapan.

    BUKA CLOUD CONSOLE

  2. Di samping logo Google Cloud di sudut kiri atas, klik menu dropdown lalu pilih NEW PROJECT.

  3. Beri nama project Anda, lalu klik Create.

  4. Setelah project dibuat (notifikasi ditampilkan di kanan atas), muat ulang halaman.

Mengaktifkan API

Aktifkan BigQuery API:

BUKA BIGQUERY API

Membuat akun layanan

Akun layanan (khususnya file kuncinya) digunakan untuk mengautentikasi SAP DS ke BigQuery. Gunakan file kunci tersebut nanti saat Anda membuat datastore target.

  1. Di konsol Google Cloud, buka halaman Service accounts.

    BUKA AKUN LAYANAN

  2. Pilih project Google Cloud Anda.

  3. Klik Create Service Account.

  4. Masukkan Service account name.

  5. Klik Create and Continue.

  6. Pada daftar Select a role, pilih BigQuery > BigQuery Data Editor.

  7. Klik Add Another Role.

  8. Pada daftar Select a role, pilih BigQuery > BigQuery Job User.

  9. Klik Lanjutkan.

  10. Berikan akses ke akun layanan kepada pengguna lain sebagaimana mestinya.

  11. Klik Done.

  12. Pada halaman Service accounts di konsol Google Cloud, klik alamat email akun layanan yang baru saja Anda buat.

  13. Di bawah nama akun layanan, klik tab Keys.

  14. Klik menu drop-down Add Key, lalu pilih Create new key.

  15. Pastikan jenis kunci JSON telah ditentukan.

  16. Klik Create.

  17. Simpan file kunci yang didownload secara otomatis ke lokasi yang aman.

Mengonfigurasi ekspor dari sistem SAP ke BigQuery

Mengonfigurasi solusi ini mencakup langkah-langkah tingkat tinggi berikut:

  • Mengonfigurasi SAP Data Services
  • Membuat aliran data antara SAP Data Services dan BigQuery

Konfigurasi SAP Data Services

Membuat project layanan data

  1. Buka aplikasi SAP Data Services Designer.
  2. Buka Project > New > Project.
  3. Tentukan nama di kolom Project name.
  4. Klik Create. Project Anda akan muncul di Project Explorer di sebelah kiri.

Membuat datastore sumber

Anda dapat menggunakan sistem aplikasi SAP atau database dasarnya sebagai datastore sumber untuk SAP Data Services. Jenis objek data yang dapat Anda ekspor akan berbeda-beda, bergantung pada apakah Anda menggunakan sistem aplikasi SAP atau database sebagai datastore Anda.

Jika menggunakan sistem aplikasi SAP sebagai datastore, Anda dapat mengekspor objek berikut:

  • Tabel
  • Dilihat
  • Hierarki
  • ODP
  • BAPI (Fungsi)
  • IDocs

Alur replikasi dimulai pada aplikasi atau database SAP dan meneruskan SAP Data Services ke BigQuery

Jika menggunakan database dasar sebagai koneksi datastore, Anda dapat mengekspor objek seperti berikut:

  • Tabel
  • Dilihat
  • Prosedur tersimpan
  • Objek data lainnya

Alur replikasi dimulai pada aplikasi atau database SAP dan meneruskan SAP Data Services ke BigQuery

Konfigurasi datastore untuk sistem aplikasi dan database SAP dijelaskan di bagian berikut. Terlepas dari jenis koneksi datastore atau objek data, prosedur untuk mengimpor dan menggunakan objek dalam aliran data SAP Data Services hampir sama.

Konfigurasi untuk koneksi lapisan aplikasi SAP

Langkah-langkah ini akan membuat koneksi ke aplikasi SAP dan menambahkan objek data ke node datastore yang berlaku di library objek Designer.

  1. Buka aplikasi SAP Data Services Designer.
  2. Buka project SAP Data Services Anda di Project Explorer.
  3. Buka Project > Baru > Datastore.
  4. Isi Datastore Name. Misalnya, ECC_DS.
  5. Di kolom Datastore type, pilih SAP Applications.
  6. Di kolom Application server name, masukkan nama instance server aplikasi SAP.
  7. Tentukan kredensial akses server aplikasi SAP.
  8. Klik OK.

Konfigurasi untuk koneksi lapisan database SAP

SAP HANA

Langkah-langkah ini akan membuat koneksi ke database SAP HANA dan menambahkan tabel data ke node datastore yang berlaku di library objek Designer.

  1. Buka aplikasi SAP Data Services Designer.
  2. Buka project SAP Data Services Anda di Project Explorer.
  3. Buka Project > Baru > Datastore.
  4. Isi Datastore Name, misalnya, HANA_DS.
  5. Di kolom Datastore type, pilih opsi Database.
  6. Di kolom Database type, pilih opsi SAP HANA.
  7. Di kolom Database version, pilih versi database Anda.
  8. Isi nama Database server, Port Number, dan kredensial akses.
  9. Klik OK.
Database lain yang didukung

Langkah-langkah ini akan membuat koneksi ke SQL Anywhere dan menambahkan tabel data ke node datastore yang berlaku di library objek Designer.

Langkah-langkah untuk pembuatan koneksi ke database lain yang didukung hampir sama.

  1. Buka aplikasi SAP Data Services Designer.
  2. Buka project SAP Data Services Anda di Project Explorer.
  3. Buka Project > Baru > Datastore.
  4. Isi Name, misalnya, SQL_ANYWHERE_DS.
  5. Di kolom Datastore type, pilih opsi Database.
  6. Di kolom Database type, pilih opsi SQL Anywhere.
  7. Di kolom Database version, pilih versi database Anda.
  8. Isi Database server name, Database name, dan kredensial akses.
  9. Klik OK.

Datastore baru akan muncul di tab Datastore di library objek lokal Designer.

Membuat datastore target

Langkah-langkah ini akan membuat datastore BigQuery yang menggunakan akun layanan yang telah Anda buat sebelumnya di bagian Membuat akun layanan. Dengan akun layanan, SAP Data Services dapat mengakses BigQuery dengan aman.

Untuk informasi selengkapnya, lihat Mendapatkan email akun layanan Google dan Mendapatkan file kunci pribadi akun layanan Google dalam dokumentasi SAP Data Services.

  1. Buka aplikasi SAP Data Services Designer.
  2. Buka project SAP Data Services Anda di Project Explorer.
  3. Buka Project > Baru > Datastore.
  4. Isi kolom Name. Misalnya, BQ_DS.
  5. Di kolom Datastore type, pilih Google BigQuery.
  6. Opsi Web Service URL akan muncul. Software ini secara otomatis menyelesaikan opsi dengan URL layanan web BigQuery default.
  7. Pilih Advanced.
  8. Selesaikan opsi Advanced berdasarkan Deskripsi opsi Datastore untuk BigQuery dalam dokumentasi SAP Data Services.
  9. Klik OK.

Datastore baru akan muncul di tab Datastore di library objek lokal Designer.

Menyiapkan aliran data antara SAP Data Services dan BigQuery

Untuk menyiapkan aliran data, Anda harus membuat tugas batch, membuat aliran data loader BigQuery, serta mengimpor tabel sumber dan BigQuery ke SAP Data Services sebagai metadata eksternal.

Membuat tugas batch

  1. Buka aplikasi SAP Data Services Designer.
  2. Buka project SAP Data Services Anda di Project Explorer.
  3. Buka Project > New > Batch Job.
  4. Isi kolom Name. Misalnya, JOB_SQL_ANYWHERE_BQ.
  5. Klik OK.

Membuat logika aliran data

Mengimpor tabel sumber

Langkah-langkah ini mengimpor tabel database dari datastore sumber dan menyediakannya di SAP Data Services.

  1. Buka aplikasi SAP Data Services Designer.
  2. Luaskan datastore sumber di Project Explorer.
  3. Pilih opsi External Metadata di bagian atas panel kanan. Daftar node dengan tabel yang tersedia dan/atau objek lain akan muncul.
  4. Pilih tabel yang akan diimpor dari daftar.
  5. Klik kanan dan pilih opsi Import.
  6. Tabel yang diimpor kini tersedia di library objek di bagian node datastore sumber.
Membuat aliran data
  1. Pilih tugas batch di Project Explorer.
  2. Klik kanan di ruang kerja kosong di panel kanan dan pilih opsi Add New > Dataflow.
  3. Klik kanan ikon dataflow, lalu pilih Rename.
  4. Ubah nama menjadi DF_SQL_ANYWHERE_BQ.
  5. Buka ruang kerja dataflow dengan mengklik dua kali ikon dataflow.

    Screenshot ikon dataflow.

Mengimpor dan menghubungkan aliran data dengan objek datastore sumber
  1. Luaskan datastore sumber di Project Explorer.
  2. Dari datastore, tarik lalu lepas tabel sumber ke ruang kerja aliran data (pilih opsi Make Source saat Anda menarik tabel ke ruang kerja). Dalam petunjuk ini, datastore diberi nama SQL_ANYWHERE_DS. Nama datastore Anda mungkin berbeda.
  3. Tarik Query transform dari node Platform di tab Transforms pada library objek ke aliran data.
  4. Hubungkan tabel sumber di ruang kerja ke Query transform.
  5. Klik dua kali di Query transform.
  6. Pilih semua kolom tabel pada bagian Schema In di sebelah kiri, lalu tarik ke Schema Out di sebelah kanan.

    • Pilih kolom datetime dalam daftar Schema Out di sebelah kanan.
    • Pilih tab Mapping di bawah daftar skema.
    • Ganti nama kolom dengan fungsi berikut:

      to_date(to_char(FIELDNAME,'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd
      hh24:mi:ss')

      FIELDNAME adalah nama kolom yang Anda pilih.

    Screenshot SAP Data Services Designer yang menampilkan konversi jenis data Datetime untuk suatu kolom.

  7. Klik ikon Kembali di toolbar aplikasi untuk kembali ke Dataflow Editor.

  8. Dari node Platform di tab Transforms pada library objek, tarik transformasi XML_Map ke dalam aliran data.

  9. Pilih mode Batch dalam dialog.

  10. Hubungkan transformasi Query ke transformasi XML_Map.

    Screenshot ikon yang mewakili alur dari tabel sumber melalui transformasi Kueri ke peta XML.

Membuat file skema

Langkah-langkah ini akan membuat file skema yang mencerminkan struktur tabel sumber. Kemudian, Anda akan menggunakan file skema untuk membuat tabel BigQuery.

Skema ini memastikan bahwa aliran data loader BigQuery berhasil mengisi tabel BigQuery yang baru.

  1. Buka XML Map transform, lalu selesaikan bagian skema input dan output berdasarkan data yang Anda sertakan dalam tabel BigQuery.
  2. Klik kanan node XML_Map di kolom Schema Out, lalu pilih Generate Google BigQuery Schema dari menu dropdown.
  3. Masukkan nama dan lokasi untuk skema tersebut.
  4. Klik Simpan.

SAP Data Services menghasilkan file skema dengan ekstensi file .json.

Screenshot SAP Data Services Designer yang menampilkan menu drop-down untuk menghasilkan skema Google BigQuery.

Membuat tabel BigQuery

Anda perlu membuat tabel dalam set data BigQuery di Google Cloud untuk pemuatan data. Untuk membuat tabel, gunakan skema yang dibuat di SAP Data Services.

Tabel ini didasarkan pada skema yang Anda buat pada langkah sebelumnya.

  1. Akses project Google Cloud Anda di konsol Google Cloud.
  2. Pilih BigQuery.
  3. Klik set data yang berlaku.
  4. Klik Create table.
  5. Masukkan Nama tabel. Misalnya, BQ_DATA_LOAD.
  6. Di bagian Schema, alihkan setelan untuk mengaktifkan mode Edit as text.
  7. Tetapkan skema tabel baru di BigQuery dengan menyalin dan menempelkan konten file skema yang Anda buat di halaman Membuat file skema.
  8. Klik Create table.
Mengimpor tabel BigQuery

Langkah-langkah ini mengimpor tabel BigQuery yang Anda buat di langkah sebelumnya dan menyediakannya di SAP Data Services.

  1. Di library objek SAP Data Services Designer, klik kanan datastore BigQuery dan pilih opsi Refresh Object Library. Tindakan ini akan memperbarui daftar tabel sumber data yang dapat Anda gunakan dalam aliran data.
  2. Buka datastore BigQuery.
  3. Di bagian atas panel kanan, pilih External Metadata. Tabel BigQuery yang Anda buat akan muncul.
  4. Klik kanan nama tabel BigQuery yang berlaku, lalu pilih Import.
  5. Proses impor tabel yang dipilih ke SAP Data Services dimulai. Tabel tersebut sekarang tersedia di library objek pada node datastore target.
Mengimpor dan menghubungkan aliran data dengan objek datastore target
  1. Dari datastore di library objek, tarik tabel BigQuery yang diimpor ke aliran data. Nama datastore dalam petunjuk ini adalah BQ_DS. Nama datastore Anda mungkin berbeda.
  2. Hubungkan transformasi XML_Map ke tabel BigQuery yang diimpor.

    Screenshot ikon yang mewakili alur dari tabel sumber melalui transformasi Query dan peta XML ke tabel BigQuery.

  3. Buka transformasi XML_Map, lalu selesaikan bagian skema input dan output berdasarkan data yang Anda sertakan dalam tabel BigQuery.

  4. Klik dua kali tabel BigQuery di ruang kerja untuk membukanya dan menyelesaikan opsi di tab Target seperti yang ditunjukkan dalam tabel berikut:

    Opsi Deskripsi
    Buat Port Tentukan No, yang merupakan default.

    Menetapkan Yes akan membuat file sumber atau target menjadi port aliran data tersemat.
    Mode Tetapkan Truncate untuk pemuatan awal, yang akan menggantikan semua data yang sudah ada dalam tabel BigQuery dengan data yang dimuat oleh SAP Data Services. Truncate adalah setelan default-nya.
    Jumlah loader Tentukan bilangan bulat positif guna menetapkan jumlah loader (thread) yang akan digunakan untuk pemrosesan. Defaultnya adalah 4.

    Setiap loader memulai satu tugas pemuatan yang dapat dilanjutkan di BigQuery. Anda dapat menetapkan berapa pun jumlah loader.
    Untuk membantu menentukan jumlah loader yang tepat, lihat dokumentasi SAP, termasuk:
    Data gagal maksimum per loader Tentukan 0 atau bilangan bulat positif untuk menetapkan jumlah maksimum data yang bisa gagal per tugas pemuatan sebelum BigQuery berhenti memuat kumpulan data. Nilai defaultnya adalah nol (0).
  5. Klik ikon Validasi di toolbar bagian atas.

  6. Klik ikon Kembali di toolbar aplikasi untuk kembali ke Dataflow Editor.

Memuat data ke BigQuery

Langkah-langkah ini memulai tugas replikasi dan menjalankan aliran data di SAP Data Services untuk memuat data dari sistem sumber ke BigQuery.

Saat Anda menjalankan pemuatan, semua data dalam set data sumber direplikasi ke tabel BigQuery target yang terhubung ke aliran data pemuatan. Setiap data dalam tabel target akan ditimpa.

  1. Di SAP Data Services Designer, buka Project Explorer.
  2. Klik kanan pada nama tugas replikasi dan pilih Execute.
  3. Klik OK.
  4. Proses pemuatan dimulai dan pesan debug mulai muncul di log SAP Data Services. Data dimuat ke tabel yang Anda buat di BigQuery untuk pemuatan awal. Nama tabel pemuatan dalam petunjuk ini adalah BQ_DATA_LOAD. Nama tabel Anda mungkin berbeda.
  5. Untuk melihat apakah pemuatan sudah selesai, buka konsol Google Cloud dan buka set data BigQuery yang berisi tabel. Jika data masih dimuat, "Loading" akan muncul di samping nama tabel.

Setelah dimuat, data siap untuk diproses di BigQuery.

Menjadwalkan pemuatan

Anda dapat menjadwalkan tugas pemuatan untuk dijalankan secara berkala menggunakan SAP Data Services Management Console.

  1. Buka aplikasi SAP Data Services Management Console.
  2. Klik Administrator.
  3. Luaskan node Batch di hierarki menu di sebelah kiri.
  4. Klik nama repositori SAP Data Services.
  5. Klik tab Batch Job Configuration.
  6. Klik Add Schedule.
  7. Isi nama Schedule.
  8. Centang Active.
  9. Di bagian Select schedule time for running the jobs, tentukan frekuensi untuk eksekusi pemuatan delta.
    1. Penting: Google Cloud membatasi jumlah tugas pemuatan BigQuery yang dapat Anda jalankan dalam sehari. Pastikan jadwal Anda tidak melebihi batas, yang tidak dapat dinaikkan. Untuk mengetahui informasi lebih lanjut mengenai batas tugas pemuatan BigQuery, lihat Kuota & batas dalam dokumentasi BigQuery.
  10. Klik Apply.

    Screenshot tab Schedule Batch Job di SAP Data Services Management Console.

Langkah selanjutnya

Membuat kueri dan menganalisis data yang direplikasi di BigQuery. Untuk informasi selengkapnya tentang pembuatan kueri, lihat:

Untuk mengetahui beberapa ide tentang cara menyiapkan solusi untuk mereplikasi data secara hampir real-time dari aplikasi SAP ke BigQuery dengan menggunakan SAP Landscape Transformation Replication Server dan SAP Data Services, lihat:

Untuk arsitektur referensi, diagram, dan praktik terbaik lainnya, jelajahi Pusat Arsitektur Cloud.