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