Dokumen ini menjelaskan arsitektur referensi untuk menggunakan BigQuery ML guna mem-build solusi machine learning di lingkungan SAP Anda, dengan menggunakan ABAP SDK untuk Google Cloud edisi cloud atau lokal. Dengan bantuan arsitektur referensi yang dijelaskan dalam dokumen ini, Anda dapat membangun solusi yang mengekstrak insight berbasis data untuk mempercepat proses pengambilan keputusan bisnis dalam SAP.
Audiens yang dituju untuk dokumen ini mencakup developer ABAP, arsitek solusi SAP, dan arsitek cloud. Dokumen ini mengasumsikan bahwa Anda sudah memahami BigQuery dan SQL.
Arsitektur
Diagram berikut menunjukkan arsitektur referensi untuk solusi machine learning yang memberikan insight bisnis berdasarkan data dari sistem SAP ERP:
Arsitektur solusi machine learning ini mencakup komponen berikut:
Komponen | Subsistem | Detail |
---|---|---|
1 | Sumber data | Sistem SAP ERP seperti SAP S/4HANA, yang merupakan sumber data perusahaan. |
2 | Data warehouse | BigQuery, yang menyimpan data mentah dari sistem sumber dan insight yang dihasilkan ML. |
3 | Machine learning: Pelatihan | Model machine learning, yang dilatih pada data sumber untuk menghasilkan insight bisnis. |
4 | Machine learning: Menayangkan Insight | Komponen yang menampilkan insight bisnis yang dihasilkan ML untuk digunakan SAP. |
Produk yang digunakan
Arsitektur referensi ini menggunakan produk Google Cloud berikut:
- ABAP SDK untuk Google Cloud: Membantu Anda mengembangkan aplikasi ABAP yang menghubungkan sistem SAP ke layanan Google Cloud, seperti BigQuery.
- BigQuery: Membantu Anda mengelola dan menganalisis data perusahaan.
Kasus penggunaan
BigQuery ML memungkinkan pengguna SAP memperoleh insight berharga untuk pengambilan keputusan dan hasil bisnis yang lebih baik dengan menggunakan data perusahaan yang disimpan di BigQuery. Bagian ini memberikan contoh kasus penggunaan yang dapat Anda gunakan BigQuery ML untuk membuat solusi machine learning.
Perkiraan
Perkiraan di BigQuery ML melibatkan analisis data deret waktu historis untuk memprediksi tren mendatang. Misalnya, Anda dapat menganalisis
data penjualan historis dari beberapa lokasi toko untuk memprediksi
penjualan mendatang di lokasi tersebut. Anda dapat melakukan perkiraan dengan menggunakan fungsi ML.FORECAST
dengan model ARIMA_PLUS
atau ARIMA_PLUS_XREG
.
Deteksi anomali
Deteksi anomali menemukan pola yang tidak biasa dalam data, sehingga memungkinkan respons proaktif terhadap potensi masalah atau peluang. Dengan data berlabel, Anda dapat menggunakan berbagai model machine learning terpantau untuk tugas ini. Anda dapat menggunakan regresi linear dan logistik, hierarki yang ditingkatkan, hutan acak, jaringan neural dalam, model lebar dan dalam, atau model AutoML untuk deteksi anomali.
Sistem rekomendasi
Sistem rekomendasi adalah alat yang canggih bagi bisnis, yang membantu pengguna menemukan konten yang relevan dalam koleksi yang luas. Sistem ini menggunakan machine learning untuk menyarankan item yang mungkin tidak ditemukan pengguna sendiri, sehingga mengatasi keterbatasan penelusuran. Sistem rekomendasi terutama menggunakan dua pendekatan:
- Pemfilteran berbasis konten, yang merekomendasikan item berdasarkan kesamaan.
- Penyaringan kolaboratif, yang menggunakan kesamaan antara pengguna dan preferensi mereka.
Pertimbangan desain
Bagian ini berisi panduan untuk membantu Anda menggunakan arsitektur referensi ini untuk mengembangkan arsitektur yang membantu Anda memenuhi persyaratan khusus dalam hal keamanan, privasi, kepatuhan, biaya, dan performa.
Keamanan, privasi, dan kepatuhan:
Untuk menerapkan kebijakan tata kelola data, Anda dapat menggunakan fitur BigQuery. Tata kelola data mengelola keamanan dan kualitas data selama siklus prosesnya untuk memastikan akses dan akurasi mematuhi kebijakan dan peraturan. Untuk informasi selengkapnya, lihat Pengantar tata kelola data di BigQuery.
Biaya dan performa
Untuk mengetahui estimasi biaya resource Google Cloud yang digunakan oleh data warehouse dengan solusi BigQuery, lihat estimasi yang telah dihitung sebelumnya di Kalkulator Harga Google Cloud.
Saat mulai menskalakan dengan BigQuery, Anda memiliki sejumlah cara untuk membantu meningkatkan performa kueri dan mengurangi total pembelanjaan. Metode ini termasuk mengubah cara data Anda disimpan secara fisik, memodifikasi kueri SQL Anda, dan menggunakan reservasi slot untuk memastikan performa biaya. Untuk mengetahui informasi selengkapnya tentang cara menskalakan dan menjalankan data warehouse, lihat Pengantar cara mengoptimalkan performa kueri.
Alternatif desain
Meskipun dokumen ini berfokus pada ABAP SDK untuk Google Cloud edisi lokal atau cloud, Anda dapat memperoleh hasil yang serupa dengan menggunakan ABAP SDK untuk Google Cloud edisi SAP BTP. Anda dapat menyesuaikan resource yang disediakan untuk membuat solusi serupa dalam lingkungan SAP BTP.
Deployment
Bagian ini menunjukkan cara memuat data dari sistem SAP sumber ke BigQuery, membuat model machine learning yang sesuai dengan persyaratan bisnis Anda, dan akhirnya menghasilkan insight yang dapat digunakan untuk keputusan bisnis di SAP.
Sebelum memulai
Sebelum menerapkan solusi berdasarkan arsitektur referensi ini, pastikan Anda telah menyelesaikan prasyarat berikut:
Anda memiliki akun dan project Google Cloud.
Penagihan diaktifkan untuk project Anda. Untuk informasi tentang cara mengonfirmasi bahwa penagihan diaktifkan untuk project Anda, lihat Memverifikasi status penagihan project.
ABAP SDK untuk Google Cloud edisi lokal atau cloud telah diinstal dan dikonfigurasi.
Autentikasi untuk mengakses Google Cloud API sudah disiapkan. Untuk mengetahui informasi tentang cara menyiapkan autentikasi, lihat Ringkasan autentikasi untuk ABAP SDK untuk Google Cloud edisi cloud atau on-premise.
BigQuery API diaktifkan di project Google Cloud Anda.
Anda memiliki set data dan tabel BigQuery untuk menyimpan data.
Memuat data dari sistem sumber SAP ke BigQuery
Untuk memuat data dari sistem sumber SAP ke tabel BigQuery dengan menggunakan ABAP SDK untuk Google Cloud, Anda menggunakan metode INSERT_ALL_TABLEDATA
dari class /GOOG/CL_BIGQUERY_V2
. Data ini berfungsi sebagai dasar
untuk melatih model machine learning.
Contoh kode berikut mengilustrasikan cara memuat data dari sistem sumber SAP ke tabel BigQuery:
TRY.
DATA(lo_client) = NEW /goog/cl_bigquery_v2( iv_key_name = 'CLIENT_KEY' ).
TYPES:
BEGIN OF t_timeseries,
date TYPE string, "YYYY-MM-DD
value TYPE string, "Numeric value
END OF t_timeseries.
DATA: lt_data TYPE STANDARD TABLE OF t_timeseries.
"Developer TODO - populate lt_data
DATA: ls_input TYPE /goog/cl_bigquery_v2=>ty_133.
LOOP AT lt_data INTO FIELD-SYMBOL(<ls_data>).
APPEND INITIAL LINE TO ls_input-rows ASSIGNING FIELD-SYMBOL(<ls_row>).
CREATE DATA <ls_row>-json TYPE t_timeseries.
FIELD-SYMBOLS: <lfs_json> TYPE t_timeseries.
ASSIGN <ls_row>-json->* TO <lfs_json> CASTING.
<lfs_json> = <ls_data>.
ENDLOOP.
"Call API method: bigquery.tabledata.insertAll
CALL METHOD lo_client->insert_all_tabledata
EXPORTING
iv_p_dataset_id = 'BIGQUERY_DATASET'
iv_p_project_id = CONV #( lo_client->gv_project_id )
iv_p_table_id = 'BIGQUERY_TABLE'
is_input = ls_input
IMPORTING
es_output = DATA(ls_output)
ev_ret_code = DATA(lv_ret_code)
ev_err_text = DATA(lv_err_text).
lo_client->close( ).
CATCH cx_root.
"handle error
ENDTRY.
Ganti kode berikut:
CLIENT_KEY
: Kunci klien yang dikonfigurasi untuk autentikasi.BIGQUERY_DATASET
: ID set data BigQuery target.BIGQUERY_TABLE
: ID tabel BigQuery target.
Atau, jika Anda mencari solusi penyerapan data BigQuery tanpa kode yang menangani pemuatan awal dan penanganan delta (CDC), Anda dapat mempertimbangkan BigQuery Connector untuk SAP, Cloud Data Fusion, atau SAP Datasphere.
Membuat model machine learning
BigQuery menyediakan daftar komprehensif model machine learning dan resource AI untuk mendapatkan insight dari data perusahaan. Salah satu model tersebut adalah ARIMA_PLUS
,
yang dapat Anda gunakan untuk memperkirakan nilai deret waktu mendatang berdasarkan data historis.
Misalnya, Anda dapat menggunakan model ARIMA_PLUS
untuk memprediksi volume penjualan mendatang berdasarkan
data historis. Untuk melatih model baru dengan data SAP yang telah Anda muat ke BigQuery, Anda menggunakan pernyataan CREATE MODEL
. Bergantung pada
ukuran data Anda, proses ini mungkin memerlukan waktu beberapa menit atau jam untuk dijalankan. Setelah
model dibuat, Anda dapat melihat
model di BigQuery Studio.
Untuk membuat dan melatih model, jalankan pernyataan CREATE MODEL
:
Di konsol Google Cloud, klik tombol Compose new query.
Masukkan kueri GoogleSQL berikut di Query editor:
CREATE OR REPLACE MODEL `MODEL_NAME` OPTIONS (model_type = 'ARIMA_PLUS', time_series_timestamp_col = 'TIME_SERIES_TIMESTAMP_COL', time_series_data_col = 'TIME_SERIES_DATA_COL', auto_arima = TRUE, data_frequency = 'AUTO_FREQUENCY', decompose_time_series = TRUE ) AS SELECT {timestamp_column_name}, {timeseries_data_column_name} FROM `{BigQuery_table}`
Ganti kode berikut:
MODEL_NAME
: Nama model yang telah Anda latih untuk menghasilkan insight.TIME_SERIES_TIMESTAMP_COL
: Nama kolom yang memberikan titik waktu yang digunakan dalam melatih model.TIME_SERIES_DATA_COL
: Nama kolom yang berisi data yang akan diramalkan.
Untuk informasi selengkapnya tentang argumen, lihat sintaksis
CREATE MODEL
.Klik Run. Model Anda akan muncul di panel navigasi.
Membuat dan menayangkan insight
Anda dapat menghasilkan insight menggunakan model machine learning.
Misalnya, jika membuat model ARIMA_PLUS
, Anda dapat menggunakannya untuk
menghasilkan insight untuk nilai deret waktu seperti prediksi penjualan di masa mendatang.
Menghasilkan insight
Untuk membuat insight berdasarkan model yang dilatih, lakukan langkah-langkah berikut:
Di konsol Google Cloud, klik tombol Compose new query.
Masukkan kueri GoogleSQL berikut di Query editor:
SELECT * FROM ML.FORECAST(MODEL `MODEL_NAME`, STRUCT(HORIZON AS horizon, CONFIDENCE_LEVEL AS confidence_level));
Ganti kode berikut:
MODEL_NAME
: Nama model yang telah Anda latih untuk menghasilkan insight.HORIZON
: NilaiINT64
yang menentukan jumlah titik waktu yang akan diramalkan.CONFIDENCE_LEVEL
: NilaiFLOAT64
yang menentukan persentase nilai mendatang yang berada dalam interval prediksi.
Untuk informasi selengkapnya tentang argumen, lihat Fungsi
ML.FORECAST
.Klik Run. Model ML memberikan output nilai perkiraan untuk tanggal mendatang.
Setelah kueri selesai, klik tab Results. Hasilnya akan terlihat seperti berikut:
Menayangkan insight
Untuk menayangkan prediksi yang dihasilkan untuk keputusan bisnis berbasis data dari aplikasi SAP menggunakan ABAP SDK untuk Google Cloud, Anda menggunakan metode QUERY_JOBS
dari class /GOOG/CL_BIGQUERY_V2
.
Untuk membantu Anda men-deploy contoh solusi yang dijelaskan di bagian ini dengan upaya
minimal, contoh kode
disediakan di GitHub.
Contoh kode ini menunjukkan contoh menyeluruh untuk membuat perkiraan nilai deret waktu mendatang menggunakan model ARIMA_PLUS
dan ABAP SDK untuk Google Cloud edisi cloud atau lokal.
Langkah selanjutnya
- Untuk ringkasan BigQuery ML, lihat Pengantar BigQuery ML.
- Untuk mengevaluasi model machine learning BigQuery yang tersedia untuk proses dan persyaratan bisnis Anda, lihat Perjalanan pengguna menyeluruh untuk setiap model.
- Daripada menjalankan kueri ad hoc untuk mendapatkan prediksi BigQuery ML, Anda dapat menggunakan Cloud Run untuk otomatis menghasilkan insight untuk data baru atau yang diubah di BigQuery. Insight yang dihasilkan dapat ditulis ke tabel BigQuery sementara, lalu diambil oleh aplikasi SAP.
- Untuk mengekstrak nilai dan insight yang lebih besar dari data SAP, Anda dapat menggunakan Cortex Data Foundation Google Cloud yang menyediakan fondasi data yang skalabel dan dapat diperluas, bersama dengan model data dan pipeline bawaan untuk kasus penggunaan bisnis umum yang terkait dengan SAP.
- Untuk mempelajari konsol Google Cloud lebih lanjut, lihat Menggunakan konsol Google Cloud.
- Untuk mempelajari ABAP SDK untuk Google Cloud, lihat Ringkasan ABAP SDK untuk Google Cloud.
Jika Anda memerlukan bantuan untuk menyelesaikan masalah terkait ABAP SDK untuk Google Cloud, lakukan hal berikut:
- Lihat panduan pemecahan masalah ABAP SDK untuk Google Cloud.
- Ajukan pertanyaan dan diskusikan ABAP SDK untuk Google Cloud dengan komunitas di Cloud Forum.
- Kumpulkan semua informasi diagnostik yang tersedia dan hubungi Cloud Customer Care. Untuk mengetahui informasi tentang cara menghubungi Layanan Pelanggan, lihat Mendapatkan dukungan untuk SAP di Google Cloud.
Kontributor
Penulis: Ajith Urimajalu | SAP Application Engineer Team Lead
Kontributor lainnya: Vikash Kumar | Technical Writer