Mengerjakan sesi
Dokumen ini menjelaskan cara membuat, menggunakan, mengakhiri, dan mencantumkan sesi Anda.
Sebelum menyelesaikan langkah-langkah ini, pastikan Anda memiliki izin yang diperlukan.
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 konsol Trusted Cloud , setiap sesi ditetapkan ke tab editor.
Di Trusted Cloud konsol, buka halaman BigQuery.
Klik
Tulis kueri baru. Tab editor baru akan terbuka.Klik Lainnya > 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 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 Trusted 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 diikuti dengan 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 tanda
--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 konsolTrusted Cloud , jika sesi tersebut dibuat di sana.
Konsol
Di Trusted 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 Trusted Cloud konsol, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
CALL BQ.ABORT_SESSION();
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel 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 konsol Trusted Cloud . 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 Trusted 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 membuat sesi atau dengan mencantumkan sesi.
Saat Anda membuat sesi dengan Cloud Shell, ID sesi yang ditampilkan akan terlihat seperti berikut:
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 membuat sesi atau dengan mencantumkan sesi.
Saat Anda membuat sesi dengan panggilan API, ID sesi dalam respons akan terlihat mirip dengan berikut 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 Trusted Cloud konsol, buka halaman BigQuery.
Pilih jenis histori tugas:
- Untuk menampilkan informasi tugas terbaru Anda, klik Personal history.
- Untuk menampilkan informasi tugas terbaru di project Anda, klik Project history.
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 Trusted Cloud konsol, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
SELECT session_id, MAX(creation_time) AS last_modified_time FROM
region-us
.INFORMATION_SCHEMA.VIEW 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 kode berikut:
VIEW
: tampilanINFORMATION_SCHEMA
:JOBS_BY_USER
: hanya menampilkan tugas yang dibuat oleh pengguna saat ini dalam project saat iniSESSIONS_BY_USER
: hanya menampilkan sesi yang dibuat oleh pengguna saat ini dalam project saat iniSESSIONS_BY_PROJECT
: menampilkan semua sesi dalam project saat ini
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel 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 konsol Trusted Cloud , Anda dapat memfilter Histori Pribadi atau Histori Project berdasarkan ID sesi untuk melihat semua kueri SQL yang dijalankan dalam sesi tertentu.
Di Trusted Cloud konsol, buka halaman BigQuery.
Luaskan bagian Histori tugas.
Pilih jenis histori tugas yang ingin Anda lihat:
- Untuk menampilkan informasi tugas terbaru, klik Personal history.
- Untuk menampilkan informasi tugas terbaru dalam project Anda, klik Project history.
Klik
Filter, lalu pilih Session ID.Di kolom Session ID, telusuri ID sesi:
Session ID: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ
SQL
Untuk melihat data historis dalam sesi tertentu, dapatkan ID sesi Anda terlebih dahulu, lalu ikuti langkah-langkah berikut:
Di Trusted Cloud konsol, buka halaman BigQuery.
Di editor kueri, masukkan pernyataan berikut:
SELECT * FROM region-us.INFORMATION_SCHEMA.VIEW WHERE session_info.session_id = 'SESSION_ID';
Ganti kode berikut:
VIEW: tabel virtual
INFORMATION_SCHEMA
untuk digunakanPilih salah satu tabel virtual berikut:
JOBS_BY_USER
: hanya menampilkan tugas yang dibuat pengguna saat ini dalam project saat iniSESSIONS_BY_USER
: hanya menampilkan sesi yang dibuat pengguna saat ini dalam project saat iniSESSIONS_BY_PROJECT
: menampilkan semua sesi dalam project saat ini
- SESSION_ID: ID sesi yang digunakan untuk mengambil data historis
Klik
Run.
Untuk mengetahui informasi selengkapnya tentang cara menjalankan kueri, lihat artikel 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-us.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.