Kueri gabungan SAP Datasphere
Sebagai analis data, Anda dapat membuat kueri data relasional di SAP Datasphere dari BigQuery menggunakan kueri federasi.
Federasi BigQuery SAP Datasphere memungkinkan BigQuery membuat kueri data yang ada di SAP Datasphere secara real time, tanpa menyalin atau memindahkan data.
Untuk menjalankan kueri SQL di SAP Datasphere, tentukan kueri SQL tersebut dalam BigQuery di fungsi EXTERNAL_QUERY
. Hasilnya kemudian ditransfer dari SAP Datasphere ke BigQuery.
Batasan
- Anda hanya dapat mengkueri tampilan relasional yang ekspos untuk digunakan. Objek lain dalam SAP Datasphere tidak dapat diakses oleh kueri yang digabungkan melalui
EXTERNAL_QUERY
. - Koneksi ke SAP Datasphere dapat dibuat dari alamat IP eksternal apa pun milik Google Cloud, dan alamat IP tersebut dapat berubah dari waktu ke waktu. Oleh karena itu, Anda harus menambahkan semua alamat IP eksternal Google Cloud ke daftar yang diizinkan di SAP Datasphere.
- Latensi kueri gabungan mungkin terlihat lebih tinggi daripada kueri yang sama jika dijalankan langsung di SAP Datasphere.
- Tidak ada bentang bawah SQL tambahan yang didukung untuk SAP Datasphere.
- Kueri SQL SAP Datasphere harus menentukan alias untuk kolom yang berisi hasil fungsi.
Sebelum memulai
Pastikan administrator BigQuery Anda telah membuat koneksi SAP Datasphere dan membagikannya kepada Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna membuat kueri SAP Datasphere,
minta administrator untuk memberi Anda peran IAM
BigQuery Connection User (roles/bigquery.connectionUser
) pada project tersebut.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran yang telah ditetapkan lainnya.
Data kueri
Untuk mengirim kueri gabungan ke SAP Datasphere dari kueri GoogleSQL, gunakan fungsi EXTERNAL_QUERY.
Contoh berikut adalah kueri federasi yang menggabungkan tabel di SAP Datasphere bernama ORDERS
dan tabel di BigQuery bernama mydataset.customers
.
SELECT c.customer_id, c.name, rq.first_order_date
FROM mydataset.customers AS c
LEFT OUTER JOIN EXTERNAL_QUERY(
'connection_id',
'''SELECT CUSTOMER_ID, MIN(ORDER_DATE) AS first_order_date
FROM ORDERS
GROUP BY CUSTOMER_ID''') AS rq
ON rq.customer_id = c.customer_id
GROUP BY c.customer_id, c.name, rq.first_order_date;
Melihat skema tabel SAP Datasphere
Contoh berikut menggunakan fungsi EXTERNAL_QUERY untuk mengambil metadata database dari skema SYS
di SAP Datasphere.
-- List all views in a schema.
SELECT * FROM EXTERNAL_QUERY(
'connection_id',
'''SELECT VIEW_NAME FROM SYS.VIEWS
WHERE SCHEMA_NAME = 'MY_SCHEMA'''');
-- List all columns in a view.
SELECT * FROM EXTERNAL_QUERY(
'connection_id',
'''SELECT COLUMN_NAME, DATA_TYPE_NAME
FROM SYS.VIEW_COLUMNS
WHERE SCHEMA_NAME = 'MY_SCHEMA' AND
VIEW_NAME = 'my_view'
ORDER BY POSITION''');
Harga
Biaya menjalankan kueri federasi didasarkan pada tiga faktor:
- Biaya komputasi untuk mengeksekusi kueri di SAP Datasphere.
- Biaya bandwidth transfer hasil kueri dari SAP Datasphere ke BigQuery.
- Biaya komputasi dalam menjalankan kueri di BigQuery.
Semua biaya terkait SAP Datasphere bergantung pada jenis layanan SAP yang Anda gunakan. Untuk membatasi biaya bandwidth, sebaiknya tulis kueri dalam EXTERNAL_QUERY
agar kueri tidak mencakup semua kolom dan baris yang tidak diperlukan untuk menghitung hasil akhir.
Tidak ada biaya tambahan untuk menjalankan kueri gabungan di BigQuery. Untuk mengetahui informasi selengkapnya tentang harga BigQuery, lihat Harga.
Langkah selanjutnya
- Pelajari kueri gabungan.
- Pelajari jenis data yang tidak didukung.