Sitzungen erstellen

In diesem Dokument wird beschrieben, wie Sie Sitzungen in BigQuery erstellen. Es richtet sich an Nutzer, die mit BigQuery-Sitzungen vertraut sind.

Sitzung erstellen

Wenn Sie eine Gruppe Ihrer SQL-Aktivitäten erfassen möchten, erstellen Sie eine BigQuery-Sitzung. Nach dem Erstellen können Sie interaktive Abfragen in der Sitzung ausführen, bis die Sitzung beendet wird. Alle Abfragen in der Sitzung werden an dem Standort ausgeführt (verarbeitet), an dem die Sitzung erstellt wurde.

Bevor Sie diese Schritte ausführen, prüfen Sie, ob Sie die erforderlichen Berechtigungen zum Erstellen einer Sitzung haben.

Console

In der Cloud Console wird jede Sitzung einem Editor-Tab zugewiesen. Prüfen Sie vor dem Ausführen dieser Schritte, ob Editor-Tabs aktiviert sind.

  1. Rufen Sie in der Cloud Console die BigQuery-Seite auf.

    BigQuery aufrufen

  2. Klicken Sie auf Neue Abfrage erstellen. Ein neuer Editor-Tab wird geöffnet.

  3. Klicken Sie auf Mehr und dann auf Abfrageeinstellungen. Das Feld für die Abfrageeinstellungen wird geöffnet.

  4. Suchen Sie nach Verarbeitungsstandort und wählen Sie den Standort aus, an dem Abfragen ausgeführt werden sollen. Sobald eine Sitzung erstellt wurde, sind alle Abfragen in der Sitzung auf diesen Standort beschränkt und der Standort kann nicht geändert werden.

  5. Aktivieren Sie im Abschnitt Sitzungsverwaltung den die Option Sitzungsmodus verwenden.

  6. Klicken Sie auf Speichern.

  7. Schreiben Sie eine Abfrage auf dem Editor-Tab und führen Sie sie aus. Die neue Sitzung wird nach dem Ausführen der ersten Abfrage erstellt.

bq

Öffnen Sie Cloud Shell und geben Sie den folgenden bq query-Befehl ein:

bq query \
--nouse_legacy_sql \
--create_session
[--location 'SESSION_LOCATION'] \
'SQL_STATEMENT'

wobei

  • SESSION_LOCATION: Binden Sie die Sitzung an einen physischen Standort. Beschränken Sie alle Abfragen in der Sitzung auf diesen Standort. Optional.
  • SQL_STATEMENT: Die erste SQL-Anweisung für Ihre Sitzung.

Sitzung testen

Erstellen Sie mit diesem Befehl eine Sitzung zusammen mit einer temporären Tabelle:

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

Achten Sie darauf, dass Ergebnisse wie die folgenden erstellt werden:

In session: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ

API

Rufen Sie die Methode „jobs.insert“ oder „jobs.query“ mit einer definierten Jobressource auf.

jobs.insert

Rufen Sie die Methode jobs.insert mit den folgenden Parametern auf:

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

wobei

  • PROJECT_ID: Das Projekt, für das die Sitzung erstellt werden soll.
  • JOB_ID: Der Job, für den die Sitzung erstellt werden soll.
  • SESSION_LOCATION: Binden Sie die Sitzung an einen physischen Standort. Beschränken Sie alle Abfragen in der Sitzung auf diesen Standort. Optional.
  • SQL_STATEMENT: Die erste SQL-Anweisung für Ihre Sitzung.

Sitzung testen

Geben Sie den folgenden Anfragetext ein. Ersetzen Sie myProject und job_123 durch die ID eines Projekts und die ID eines Jobs.

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

Der Antworttext sollte in etwa so aussehen:

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

jobs.query

Rufen Sie die Methode jobs.query mit den folgenden Parametern auf:

{
  "query": "SQL_STATEMENT",
  "createSession": true,
  ["location": "SESSION_LOCATION"]
}

wobei

  • SQL_STATEMENT: Die erste SQL-Anweisung für Ihre Sitzung.
  • SESSION_LOCATION: Binden Sie die Sitzung an einen physischen Standort. Beschränken Sie alle Abfragen in der Sitzung auf diesen Standort. Optional.

Sitzung testen

Geben Sie den folgenden Anfragetext ein. Ersetzen Sie myProject und job_123 durch die ID eines Projekts und die ID eines Jobs.

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

Der Antworttext sollte in etwa so aussehen:

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

Nächste Schritte