Mengerjakan sesi
Dokumen ini menjelaskan cara membuat, menggunakan, menghentikan, dan mencantumkan sesi Anda.
Sebelum menyelesaikan langkah-langkah ini, pastikan Anda memiliki izin yang diperlukan permissions.
Membuat sesi
Jika ingin mengambil sekelompok aktivitas SQL Anda, buat sesi BigQuery. Setelah membuat sesi, Anda dapat menjalankan kueri interaktif dalam sesi tersebut hingga sesi tersebut dihentikan. Semua kueri dalam sesi dijalankan (diproses) di lokasi tempat sesi dibuat.
Konsol
Di Google Cloud konsol, setiap sesi ditetapkan ke tab editor.
Di Google Cloud konsol, buka halaman BigQuery.
Klik Tulis kueri baru. Tab editor baru akan terbuka.
Klik Edit > Setelan kueri. Panel Setelan kueri akan muncul.
Di bagian Pengelolaan sesi, klik Gunakan mode sesi untuk mengaktifkan mode sesi.
Di Setelan tambahan > Lokasi data, pilih lokasi. Setelah sesi dibuat, semua kueri dalam sesi dibatasi untuk lokasi ini dan lokasi tidak dapat diubah.
Klik Simpan.
Tulis kueri di tab editor, lalu jalankan. Sesi baru dibuat setelah kueri pertama ini dijalankan.
bq
Buka Cloud Shell
dan jalankan perintah
bq query berikut:
bq query \ --nouse_legacy_sql \ --create_session [--location 'SESSION_LOCATION'] \ 'SQL_STATEMENT'
dengan:
- SESSION_LOCATION: Mengikat sesi ke lokasi fisik. Membatasi semua kueri dalam sesi ke lokasi ini. Opsional.
- SQL_STATEMENT: Pernyataan SQL pertama untuk sesi Anda.
ID sesi Anda akan ditampilkan bersama hasil kueri.
API
Panggil metode
jobs.query dengan
parameter berikut:
{ "query": "SQL_STATEMENT", "createSession": true, ["location": "SESSION_LOCATION"] }
dengan:
- SQL_STATEMENT: Pernyataan SQL pertama untuk sesi Anda.
- SESSION_LOCATION: Mengikat sesi ke lokasi fisik. Membatasi semua kueri dalam sesi ke lokasi ini. Opsional.
Isi respons mirip dengan berikut ini:
{
"jobReference": {
"projectId": "myProject",
"jobId": "job_123"
},
"statistics": {
"sessionInfo": {
"sessionId": "CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ"
}
}
}
Menjalankan kueri dalam sebuah sesi
Setelah membuat sesi, Anda dapat menjalankan kueri dalam sesi tersebut:
Konsol
Di Google Cloud konsol, buka halaman BigQuery.
Klik tab editor yang berisi sesi.
Tambahkan kueri ke sesi tersebut, lalu klik Jalankan.
bq
Buka Cloud Shell
dan jalankan perintah
bq query berikut:
bq query \ --nouse_legacy_sql \ --session_id=SESSION_ID \ 'SQL_STATEMENT'
dengan:
- SESSION_ID: Ganti ini dengan ID sesi yang ingin Anda gunakan.
- SQL_STATEMENT: Pernyataan SQL yang akan dijalankan di sesi Anda.
Hasil kueri akan diikuti oleh ID sesi Anda.
Jika akan menjalankan banyak kueri dengan Cloud Shell,
Anda dapat menambahkan ID sesi ke [query] di
.bigqueryrc
agar Anda tidak perlu menyalin dan menempelkan ID sesi ke setiap perintah.
Seperti inilah tampilan ID sesi di .bigqueryrc:
[query]
--session_id=CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ
Setelah menambahkan ID sesi ke .bigqueryrc, Anda dapat menghapus flag --session_id dari perintah bq query. Jika ingin menggunakan sesi lain atau jika sesi berakhir, Anda harus memperbarui file .bigqueryrc.
API
Panggil metode
jobs.query dengan
parameter berikut:
{ "query": "SQL_STATEMENT", "connectionProperties": [{ "key": "session_id", "value": "SESSION_ID" }] }
dengan:
- SQL_STATEMENT: Pernyataan SQL pertama untuk sesi Anda.
- SESSION_ID: ID sesi.
Menghentikan sesi
Sesi dapat dihentikan secara manual atau otomatis. Histori sesi yang dihentikan tersedia selama 20 hari setelah penghentian.
Menghentikan sesi secara otomatis
Sesi akan otomatis dihentikan setelah 24 jam tidak aktif atau setelah 7 hari, mana saja yang terjadi terlebih dahulu.
Menghentikan sesi saat ini
Anda dapat menghentikan sesi saat ini dengan pernyataan SQL atau di Google Cloud konsol, jika sesi tersebut dibuat di sana.
Konsol
Di Google Cloud konsol, buka halaman BigQuery.
Temukan tab editor yang berisi sesi Anda, lalu tutup tab tersebut. Sesi akan berhenti.
SQL
Lakukan hal berikut untuk menghentikan sesi Anda:
Di Google Cloud konsol, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CALL BQ.ABORT_SESSION();
Klik Jalankan.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Menghentikan sesi menurut ID
Anda dapat menghentikan sesi menggunakan ID-nya. Anda tidak perlu berada di dalam sesi ini untuk menghentikannya dengan cara ini.
Dapatkan ID sesi, lalu jalankan pernyataan berikut:
CALL BQ.ABORT_SESSION(SESSION_ID);
Ganti SESSION_ID dengan ID sesi yang akan dihentikan.
Mendapatkan ID sesi aktif Anda
Dalam beberapa situasi, Anda perlu mereferensikan sebuah sesi untuk terus bekerja di dalamnya. Misalnya, jika menggunakan Cloud Shell, Anda harus menyertakan ID sesi setiap kali menjalankan perintah untuk sesi tersebut.
Konsol
Anda tidak perlu memberikan ID sesi untuk menjalankan kueri baru di dalam sesi di Google Cloud konsol. Anda dapat terus bekerja di tab editor yang berisi sesi tersebut. Namun, jika ingin mereferensikan sesi di Cloud Shell atau panggilan API, Anda perlu mengetahui ID untuk sesi yang dibuat di konsol.
Sebelum menyelesaikan langkah-langkah ini, pastikan Anda telah menjalankan minimal satu kueri dalam sesi yang aktif.
Di Google Cloud konsol, buka halaman BigQuery.
Klik tab editor yang berisi sesi.
Di Query results, klik Job information.
Dalam daftar Job information, telusuri ID sesinya:
Session ID: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ
bq
Untuk menjalankan perintah kueri dalam sesi dalam Cloud Shell, Anda perlu menyertakan ID sesi dalam perintah tersebut. Anda bisa mendapatkan ID sesi saat Anda membuat sesi atau dengan mencantumkan sesi Anda.
Saat Anda membuat sesi dengan Cloud Shell, ID sesi yang ditampilkan akan terlihat seperti ini:
In session: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ
API
Untuk meneruskan perintah SQL ke sesi dengan panggilan API, Anda harus menyertakan ID sesi dalam panggilan API. Anda bisa mendapatkan ID sesi saat Anda membuat sesi atau dengan mencantumkan sesi Anda.
Saat Anda membuat sesi dengan panggilan API, ID sesi dalam respons akan terlihat seperti ini:
sessionId: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ
Mencantumkan sesi aktif dan tidak aktif
Untuk mendapatkan ID sesi dari sesi aktif dan tidak aktif, ikuti langkah-langkah berikut:
Konsol
Di Google Cloud konsol, buka halaman BigQuery.
Di panel kiri, klik Explorer:

Jika tidak melihat panel kiri, klik Luaskan panel kiri untuk membuka panel.
Di panel Explorer, klik Histori tugas.
Pilih jenis histori tugas:
- Untuk menampilkan informasi tugas terbaru Anda, klik Personal history.
- Untuk menampilkan informasi tugas terbaru di project Anda, klik Histori project.
Di kolom Session ID, Anda dapat melihat ID sesi untuk tugas Anda.
SQL
Untuk mendapatkan daftar tiga sesi terbaru, termasuk sesi aktif dan yang dihentikan, jalankan kueri berikut di tab editor:
Di Google Cloud konsol, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
SELECT session_id, MAX(creation_time) AS last_modified_time FROM `region-REGION_NAME`.INFORMATION_SCHEMA.SESSIONS_BY_USER> WHERE session_id IS NOT NULL AND creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 20 DAY) GROUP BY session_id ORDER BY last_modified_time DESC;
Ganti REGION_NAME dengan nama region tempat mencantumkan sesi.
Klik Jalankan.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Hasilnya mirip dengan berikut ini:
+-------------------------------------------------------------------------+ | session_id | last_modified_time | +-------------------------------------------------------------------------+ | CgwKCmZhbGl1LXRlc3QQARokMGQ5YWWYzZmE0YjhkMDBm | 2021-06-01 23:04:26 | | CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZTczwZjA1NDc2 | 2021-05-30 22:43:02 | | CgwKCmZhbGl1LXRlc3QQY2MzLTg4ZDEtYzVhOWZiYmM5NzZk | 2021-04-07 22:31:21 | +-------------------------------------------------------------------------+
Melihat histori sesi
Sebuah sesi menangkap aktivitas SQL Anda dalam suatu jangka waktu. Informasi ini disimpan dalam histori sesi. Histori sesi memungkinkan Anda melacak perubahan yang dibuat dalam sesi. Jika sebuah tugas gagal atau berhasil, tugas tersebut dicatat dalam histori sesi sehingga Anda dapat kembali dan melihat apa yang telah dilakukan.
Konsol
Untuk melihat histori sesi di Google Cloud konsol, Anda dapat memfilter Histori Pribadi atau Histori Project Anda berdasarkan ID sesi untuk melihat semua kueri SQL berjalan dalam sesi tertentu.
Di Google Cloud konsol, buka halaman BigQuery.
Di panel kiri, klik Explorer:

Di panel Explorer, klik Histori tugas.
Pilih jenis histori tugas yang ingin Anda lihat:
- Untuk menampilkan informasi tugas terbaru Anda, klik Histori pribadi.
- Untuk menampilkan informasi tugas terbaru di project Anda, klik Histori project.
Klik Filter , lalu pilih Session ID.
Di kolom Session ID, telusuri ID sesinya:
Session ID: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ
SQL
Untuk melihat data historis dalam sesi tertentu, pertama dapatkan ID sesi Anda, lalu ikuti langkah-langkah berikut:
Di Google Cloud konsol, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
SELECT * FROM `region-REGION_NAME`.INFORMATION_SCHEMA.SESSIONS_BY_USER WHERE session_info.session_id = 'SESSION_ID';
Ganti kode berikut:
- REGION_NAME: nama region tempat data sesi akan dilihat
- SESSION_ID: ID sesi yang digunakan untuk mengambil data historis
Klik Jalankan.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat Menjalankan kueri interaktif.
Contoh
Pernyataan berikut menampilkan histori untuk sesi yang memiliki ID sesi CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0. Anda dapat mengganti ID sesi ini dengan ID sesi
Anda sendiri.
SELECT creation_time, query FROM `region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_USER WHERE session_info.session_id = 'CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0' AND creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 20 DAY);
Hasilnya mirip dengan berikut ini:
+---------------------+------------------------------------------------------------------------------------------+
| creation_time | query |
+---------------------+------------------------------------------------------------------------------------------+
| 2021-06-01 23:04:26 | SELECT * FROM Purchases; |
| 2021-06-01 23:02:51 | CREATE TEMP TABLE Purchases(total INT64) AS SELECT * FROM UNNEST([10,23,3,14,55]) AS a; |
+---------------------+------------------------------------------------------------------------------------------+
Langkah berikutnya
- Lihat Pengantar sesi.
- Pelajari lebih lanjut cara menulis kueri dalam sesi.