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