Membuat sesi

Dokumen ini menjelaskan cara membuat sesi di BigQuery. Fitur ini ditujukan bagi pengguna yang sudah memahami sesi BigQuery.

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.

Sebelum menyelesaikan langkah-langkah ini, pastikan Anda memiliki izin yang diperlukan untuk membuat sesi.

Konsol

Di konsol Google Cloud, setiap sesi ditetapkan ke tab editor.

  1. Di Konsol Google Cloud, buka halaman BigQuery.

    Buka BigQuery

  2. Klik Tulis kueri baru. Tab editor baru akan terbuka.

  3. Klik Lainnya > Setelan kueri. Panel Setelan kueri akan muncul.

  4. Di bagian Pengelolaan sesi, klik Gunakan mode sesi untuk mengaktifkan mode sesi.

  5. Di Setelan tambahan > Lokasi data, pilih lokasi. Setelah sesi dibuat, semua kueri dalam sesi dibatasi untuk lokasi ini dan lokasi tidak dapat diubah.

  6. Klik Simpan.

  7. 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.

Menguji sesi Anda

Buat sesi bersama dengan tabel sementara dengan perintah ini:

bq query \
  --nouse_legacy_sql \
  --create_session \
  --location 'asia-northeast1' \
  'SELECT 1;'

Pastikan adanya hasil yang serupa dengan ini:

In session: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ

API

Panggil metode jobs.insert atau metode jobs.query dengan resource tugas yang ditentukan.

jobs.insert

Panggil metode jobs.insert dengan parameter berikut:

{
  "jobReference": {
    "projectId": "PROJECT_ID",
    "jobId": "JOB_ID",
    ["location": "SESSION_LOCATION"]
  },
  "configuration": {
    "query": {
      "query": "SQL_STATEMENT",
       "createSession": {
         "value": true
       }
    }
  }
}

dengan:

  • PROJECT_ID: Project yang akan membuat sesi.
  • JOB_ID: Tugas yang membuat sesi.
  • SESSION_LOCATION: Mengikat sesi ke lokasi fisik. Membatasi semua kueri dalam sesi ke lokasi ini. Opsional.
  • SQL_STATEMENT: Pernyataan SQL pertama untuk sesi Anda.

Menguji sesi Anda

Masukkan isi permintaan berikut. Ganti myProject dan job_123 dengan ID project dan ID tugas.

{
  "jobReference": {
    "projectId": "myProject",
    "jobId": "job_123"
  },
  "configuration": {
    "query": {
      "query": "SELECT 1;",
      "createSession": {
          "value": true
      }
    }
  }
}

Pastikan isi respons serupa dengan ini:

{
  "jobReference": {
    "projectId": "myProject",
    "jobId": "job_123"
  },
  "statistics": {
    "sessionInfo": {
      "sessionId": "CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ"
    }
  }
}

jobs.query

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.

Menguji sesi Anda

Masukkan isi permintaan berikut. Ganti myProject dan job_123 dengan ID project dan ID tugas.

{
  "query": "SELECT 1;",
  "createSession": true
}

Pastikan isi respons serupa dengan ini:

{
  "jobReference": {
    "projectId": "myProject",
    "jobId": "job_123"
  },
  "statistics": {
    "sessionInfo": {
      "sessionId": "CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ"
    }
  }
}

Langkah berikutnya