Kueri gabungan SAP Datasphere
Sebagai analis data, Anda dapat membuat kueri data relasional di SAP Datasphere dari BigQuery menggunakan kueri gabungan.
Gabungan 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 dalam fungsi EXTERNAL_QUERY
. Hasilnya kemudian ditransfer dari SAP Datasphere ke BigQuery.
Batasan
- Anda hanya dapat mengkueri tampilan relasional yang ditampilkan untuk digunakan. Objek lain di SAP Datasphere tidak dapat diakses oleh kueri yang digabungkan melalui
EXTERNAL_QUERY
. - Latensi kueri gabungan mungkin terlihat lebih tinggi daripada kueri yang sama jika dijalankan langsung di SAP Datasphere.
- Kueri pertama yang menggunakan koneksi SAP Datasphere dalam project tertentu mungkin memerlukan waktu lebih dari satu menit untuk dijalankan.
- Tidak ada pushdown SQL tambahan yang didukung untuk SAP Datasphere.
- Kueri SQL SAP Datasphere harus menentukan alias untuk kolom yang berisi hasil fungsi.
- Jika penggunaan Compute Engine API dalam project kueri dibatasi oleh Kontrol Layanan VPC, kueri gabungan akan gagal.
Sebelum memulai
Pastikan administrator BigQuery telah membuat koneksi SAP Datasphere dan membagikannya kepada Anda.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk membuat kueri SAP Datasphere,
minta administrator untuk memberi Anda
peran IAM BigQuery Connection User (roles/bigquery.connectionUser
) di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Data kueri
Untuk mengirim kueri gabungan ke SAP Datasphere dari kueri GoogleSQL, gunakan fungsi EXTERNAL_QUERY.
Contoh berikut adalah kueri gabungan 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 gabungan didasarkan pada tiga faktor:
- Biaya komputasi untuk mengeksekusi kueri di SAP Datasphere.
- Biaya bandwidth untuk mentransfer hasil kueri dari SAP Datasphere ke BigQuery.
- Biaya komputasi untuk mengeksekusi kueri di BigQuery.
Biaya terkait SAP Datasphere bergantung pada jenis layanan SAP yang Anda gunakan. Untuk
membatasi biaya bandwidth, sebaiknya tulis kueri di
EXTERNAL_QUERY
sehingga mengecualikan 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.