Öffentliches Dataset mit BigQuery-Clientbibliotheken abfragen

Erfahren Sie, wie Sie öffentliche Datasets mit den BigQuery-Clientbibliotheken abfragen.


Eine detaillierte Anleitung dazu finden Sie direkt in derTrusted Cloud Console. Wählen Sie dazu einfach Ihre bevorzugte Programmiersprache aus:


Hinweise

  1. Create or select a Trusted Cloud project.

    • Create a Trusted Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Trusted Cloud project you are creating.

    • Select the Trusted Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Trusted Cloud project name.

  2. Wählen Sie aus, ob Sie die BigQuery-Sandbox kostenlos nutzen oder die Abrechnung für Ihr Trusted Cloud -Projekt aktivieren möchten.

    Wenn Sie die Abrechnung für ein Projekt nicht aktivieren, arbeiten Sie automatisch in der BigQuery-Sandbox. Mit der BigQuery-Sandbox können Sie BigQuery mit einer begrenzten Anzahl von Features ausprobieren. Wenn Sie vorhaben, Ihr Projekt über dieses Dokument hinaus zu verwenden, empfehlen wir die Verwendung der BigQuery-Sandbox.

  3. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/serviceusage.serviceUsageAdmin, roles/bigquery.jobUser

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    Replace the following:

  4. Enable the BigQuery API:

    gcloud services enable bigquery

    Bei neuen Projekten ist die BigQuery API automatisch aktiviert.

  5. In the Trusted Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  6. Aktivieren Sie Ihr Trusted Cloud -Projekt in Cloud Shell:

    gcloud config set project PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch das Projekt, das Sie für diese Schritt-für-Schritt-Anleitung ausgewählt haben.

    Die Ausgabe sieht in etwa so aus:

    Updated property [core/project].
    
  7. Öffentliches Dataset abfragen

    Wählen Sie eine der folgenden Sprachen aus:

    C#

    1. Erstellen Sie in Cloud Shell ein neues C#-Projekt und eine neue Datei:

      dotnet new console -n BigQueryCsharpDemo

      Die Ausgabe sieht etwa folgendermaßen aus. Einige Zeilen werden ausgelassen, um die Ausgabe zu vereinfachen.

      Welcome to .NET 6.0!
      ---------------------
      SDK Version: 6.0.407
      ...
      The template "Console App" was created successfully.
      ...
      

      Durch diesen Befehl wird ein C#-Projekt mit dem Namen BigQueryCsharpDemo und eine Datei mit dem Namen Program.cs erstellt.

    2. Öffnen Sie den Cloud Shell-Editor.

      cloudshell workspace BigQueryCsharpDemo
    3. Klicken Sie zum Öffnen eines Terminals im Cloud Shell-Editor auf Terminal öffnen.

    4. Öffnen Sie das Projektverzeichnis:

      cd BigQueryCsharpDemo
    5. Installieren Sie die BigQuery-Clientbibliothek für C#:

      dotnet add package Google.Cloud.BigQuery.V2

      Die Ausgabe sieht etwa folgendermaßen aus. Mehrere Zeilen werden ausgelassen, um die Ausgabe zu vereinfachen.

      Determining projects to restore...
      Writing /tmp/tmpF7EKSd.tmp
      ...
      info : Writing assets file to disk.
      ...
      
    6. Legen Sie für die Variable GOOGLE_PROJECT_ID den Wert GOOGLE_CLOUD_PROJECT fest und exportieren Sie sie:

      export GOOGLE_PROJECT_ID=$GOOGLE_CLOUD_PROJECT
    7. Klicken Sie auf Editor öffnen.

    8. Suchen Sie im Bereich Explorer das Projekt BIGQUERYCSHARPDEMO.

    9. Klicken Sie auf die Datei Program.cs, um sie zu öffnen.

    10. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, die die zehn am häufigsten aufgerufenen Stack Overflow-Seiten und deren Aufrufzahlen zurückgibt, ersetzen Sie den Inhalt der Datei durch den folgenden Code:

      
      using System;
      using Google.Cloud.BigQuery.V2;
      
      namespace GoogleCloudSamples
      {
          public class Program
          {
              public static void Main(string[] args)
              {
                  string projectId = Environment.GetEnvironmentVariable("GOOGLE_PROJECT_ID");
                  var client = BigQueryClient.Create(projectId);
                  string query = @"SELECT
                      CONCAT(
                          'https://stackoverflow.com/questions/',
                          CAST(id as STRING)) as url, view_count
                      FROM `bigquery-public-data.stackoverflow.posts_questions`
                      WHERE tags like '%google-bigquery%'
                      ORDER BY view_count DESC
                      LIMIT 10";
                  var result = client.ExecuteQuery(query, parameters: null);
                  Console.Write("\nQuery Results:\n------------\n");
                  foreach (var row in result)
                  {
                      Console.WriteLine($"{row["url"]}: {row["view_count"]} views");
                  }
              }
          }
      }
      

    11. Klicken Sie auf Terminal öffnen.

    12. Führen Sie im Terminal das Skript Program.cs aus. Wenn Sie zur Autorisierung von Cloud Shell aufgefordert werden und den Bedingungen zustimmen, klicken Sie auf Autorisieren.

      dotnet run

      Das Ergebnis sieht etwa so aus:

      Query Results:
      ------------
      https://stackoverflow.com/questions/35159967: 170023 views
      https://stackoverflow.com/questions/22879669: 142581 views
      https://stackoverflow.com/questions/10604135: 132406 views
      https://stackoverflow.com/questions/44564887: 128781 views
      https://stackoverflow.com/questions/27060396: 127008 views
      https://stackoverflow.com/questions/12482637: 120766 views
      https://stackoverflow.com/questions/20673986: 115720 views
      https://stackoverflow.com/questions/39109817: 108368 views
      https://stackoverflow.com/questions/11057219: 105175 views
      https://stackoverflow.com/questions/43195143: 101878 views
      

    Sie haben erfolgreich ein öffentliches Dataset mit der C#-Clientbibliothek von BigQuery abgefragt.

    Go

    1. Erstellen Sie in Cloud Shell ein neues Go-Projekt und eine neue Datei:

      mkdir bigquery-go-quickstart \
          && touch \
          bigquery-go-quickstart/app.go

      Dieser Befehl erstellt ein Go-Projekt mit dem Namen bigquery-go-quickstart und eine Datei mit dem Namen app.go.

    2. Öffnen Sie den Cloud Shell-Editor.

      cloudshell workspace bigquery-go-quickstart
    3. Klicken Sie zum Öffnen eines Terminals im Cloud Shell-Editor auf Terminal öffnen.

    4. Öffnen Sie das Projektverzeichnis:

      cd bigquery-go-quickstart
    5. Erstellen Sie eine go.mod-Datei:

      go mod init quickstart

      Die Ausgabe sieht etwa so aus:

      go: creating new go.mod: module quickstart
      go: to add module requirements and sums:
              go mod tidy
      
    6. Installieren Sie die BigQuery-Clientbibliothek für Go:

      go get cloud.google.com/go/bigquery

      Die Ausgabe sieht etwa folgendermaßen aus. Einige Zeilen werden ausgelassen, um die Ausgabe zu vereinfachen.

      go: downloading cloud.google.com/go/bigquery v1.49.0
      go: downloading cloud.google.com/go v0.110.0
      ...
      go: added cloud.google.com/go/bigquery v1.49.0
      go: added cloud.google.com/go v0.110.0
      
    7. Klicken Sie auf Editor öffnen.

    8. Suchen Sie im Bereich Explorer das Projekt BIGQUERY-GO-QUICKSTART.

    9. Klicken Sie auf die Datei app.go, um sie zu öffnen.

    10. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, die die zehn am häufigsten aufgerufenen Stack Overflow-Seiten und deren Aufrufzahlen zurückgibt, kopieren Sie den folgenden Code in die Datei app.go:

      
      // Command simpleapp queries the Stack Overflow public dataset in Google BigQuery.
      package main
      
      import (
      	"context"
      	"fmt"
      	"io"
      	"log"
      	"os"
      
      	"cloud.google.com/go/bigquery"
      	"google.golang.org/api/iterator"
      )
      
      
      func main() {
      	projectID := os.Getenv("GOOGLE_CLOUD_PROJECT")
      	if projectID == "" {
      		fmt.Println("GOOGLE_CLOUD_PROJECT environment variable must be set.")
      		os.Exit(1)
      	}
      
      	ctx := context.Background()
      
      	client, err := bigquery.NewClient(ctx, projectID)
      	if err != nil {
      		log.Fatalf("bigquery.NewClient: %v", err)
      	}
      	defer client.Close()
      
      	rows, err := query(ctx, client)
      	if err != nil {
      		log.Fatal(err)
      	}
      	if err := printResults(os.Stdout, rows); err != nil {
      		log.Fatal(err)
      	}
      }
      
      // query returns a row iterator suitable for reading query results.
      func query(ctx context.Context, client *bigquery.Client) (*bigquery.RowIterator, error) {
      
      	query := client.Query(
      		`SELECT
      			CONCAT(
      				'https://stackoverflow.com/questions/',
      				CAST(id as STRING)) as url,
      			view_count
      		FROM ` + "`bigquery-public-data.stackoverflow.posts_questions`" + `
      		WHERE tags like '%google-bigquery%'
      		ORDER BY view_count DESC
      		LIMIT 10;`)
      	return query.Read(ctx)
      }
      
      type StackOverflowRow struct {
      	URL       string `bigquery:"url"`
      	ViewCount int64  `bigquery:"view_count"`
      }
      
      // printResults prints results from a query to the Stack Overflow public dataset.
      func printResults(w io.Writer, iter *bigquery.RowIterator) error {
      	for {
      		var row StackOverflowRow
      		err := iter.Next(&row)
      		if err == iterator.Done {
      			return nil
      		}
      		if err != nil {
      			return fmt.Errorf("error iterating through results: %w", err)
      		}
      
      		fmt.Fprintf(w, "url: %s views: %d\n", row.URL, row.ViewCount)
      	}
      }
      

    11. Klicken Sie auf Terminal öffnen.

    12. Führen Sie im Terminal das Skript app.go aus. Wenn Sie zur Autorisierung von Cloud Shell aufgefordert werden und den Bedingungen zustimmen, klicken Sie auf Autorisieren.

      go run app.go

      Das Ergebnis sieht etwa so aus:

      https://stackoverflow.com/questions/35159967 : 170023 views
      https://stackoverflow.com/questions/22879669 : 142581 views
      https://stackoverflow.com/questions/10604135 : 132406 views
      https://stackoverflow.com/questions/44564887 : 128781 views
      https://stackoverflow.com/questions/27060396 : 127008 views
      https://stackoverflow.com/questions/12482637 : 120766 views
      https://stackoverflow.com/questions/20673986 : 115720 views
      https://stackoverflow.com/questions/39109817 : 108368 views
      https://stackoverflow.com/questions/11057219 : 105175 views
      https://stackoverflow.com/questions/43195143 : 101878 views
      

    Sie haben mit der BigQuery-Go-Clientbibliothek erfolgreich ein öffentliches Dataset abgefragt.

    Java

    1. Erstellen Sie in Cloud Shell ein neues Java-Projekt mit Apache Maven:

      mvn archetype:generate \
          -DgroupId=com.google.app \
          -DartifactId=bigquery-java-quickstart \
          -DinteractiveMode=false

      Mit diesem Befehl wird ein Maven-Projekt mit dem Namen bigquery-java-quickstart erstellt.

      Die entsprechende Ausgabe sieht etwa so aus: Mehrere Zeilen werden ausgelassen, um die Ausgabe zu vereinfachen.

      [INFO] Scanning for projects...
      ...
      [INFO] Building Maven Stub Project (No POM) 1
      ...
      [INFO] BUILD SUCCESS
      ...
      

      Neben Maven stehen viele Managementsysteme für Abhängigkeiten zur Verfügung. Weitere Informationen zum Einrichten einer Java-Entwicklungsumgebung für die Verwendung mit Clientbibliotheken.

    2. Benennen Sie die von Maven standardmäßig erstellte Datei App.java um:

      mv \
          bigquery-java-quickstart/src/main/java/com/google/app/App.java \
          bigquery-java-quickstart/src/main/java/com/google/app/SimpleApp.java
    3. Öffnen Sie den Cloud Shell-Editor:

      cloudshell workspace bigquery-java-quickstart
    4. Wenn Sie aufgefordert werden, den Java-Klassenpfad oder die Konfiguration zu synchronisieren, klicken Sie auf Immer.

      Wenn Sie während dieser Schritt-für-Schritt-Anleitung nicht dazu aufgefordert werden und ein Fehler im Zusammenhang mit dem Klassenpfad auftritt, gehen Sie so vor:

      1. Klicken Sie auf File > Preferences > Open Settings (UI).
      2. Klicken Sie auf Extensions > Java.
      3. Scrollen Sie zu Konfiguration: Build-Konfiguration aktualisieren und wählen Sie automatisch aus.
    5. Suchen Sie im Bereich Explorer das Projekt BIGQUERY-JAVA-QUICKSTART.

    6. Klicken Sie auf die Datei pom.xml, um sie zu öffnen.

    7. Fügen Sie im Tag <dependencies> die folgende Abhängigkeit nach möglicherweise bereits vorhandenen ein. Ersetzen Sie keine vorhandenen Abhängigkeiten.

      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-bigquery</artifactId>
      </dependency>
      
    8. Fügen Sie in der Zeile nach dem schließenden Tag (</dependencies>) Folgendes hinzu:

      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>libraries-bom</artifactId>
            <version>26.1.5</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>
      
    9. Klicken Sie im Explorer-Bereich in Ihrem BIGQUERY-JAVA-QUICKSTART-Projekt auf src > main/java/com/google/app > SimpleApp.java. Die Datei wird geöffnet.

    10. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, behalten Sie die erste Zeile der Datei (package com.google.app;) bei und ersetzen Sie den Rest durch den folgenden Code:

      
      import com.google.cloud.bigquery.BigQuery;
      import com.google.cloud.bigquery.BigQueryException;
      import com.google.cloud.bigquery.BigQueryOptions;
      import com.google.cloud.bigquery.FieldValueList;
      import com.google.cloud.bigquery.Job;
      import com.google.cloud.bigquery.JobId;
      import com.google.cloud.bigquery.JobInfo;
      import com.google.cloud.bigquery.QueryJobConfiguration;
      import com.google.cloud.bigquery.TableResult;
      
      
      public class SimpleApp {
      
        public static void main(String... args) throws Exception {
          // TODO(developer): Replace these variables before running the app.
          String projectId = "MY_PROJECT_ID";
          simpleApp(projectId);
        }
      
        public static void simpleApp(String projectId) {
          try {
            BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();
            QueryJobConfiguration queryConfig =
                QueryJobConfiguration.newBuilder(
                        "SELECT CONCAT('https://stackoverflow.com/questions/', "
                            + "CAST(id as STRING)) as url, view_count "
                            + "FROM `bigquery-public-data.stackoverflow.posts_questions` "
                            + "WHERE tags like '%google-bigquery%' "
                            + "ORDER BY view_count DESC "
                            + "LIMIT 10")
                    // Use standard SQL syntax for queries.
                    // See: https://cloud.google.com/bigquery/sql-reference/
                    .setUseLegacySql(false)
                    .build();
      
            JobId jobId = JobId.newBuilder().setProject(projectId).build();
            Job queryJob = bigquery.create(JobInfo.newBuilder(queryConfig).setJobId(jobId).build());
      
            // Wait for the query to complete.
            queryJob = queryJob.waitFor();
      
            // Check for errors
            if (queryJob == null) {
              throw new RuntimeException("Job no longer exists");
            } else if (queryJob.getStatus().getExecutionErrors() != null
                && queryJob.getStatus().getExecutionErrors().size() > 0) {
              // TODO(developer): Handle errors here. An error here do not necessarily mean that the job
              // has completed or was unsuccessful.
              // For more details: https://cloud.google.com/bigquery/troubleshooting-errors
              throw new RuntimeException("An unhandled error has occurred");
            }
      
            // Get the results.
            TableResult result = queryJob.getQueryResults();
      
            // Print all pages of the results.
            for (FieldValueList row : result.iterateAll()) {
              // String type
              String url = row.get("url").getStringValue();
              String viewCount = row.get("view_count").getStringValue();
              System.out.printf("%s : %s views\n", url, viewCount);
            }
          } catch (BigQueryException | InterruptedException e) {
            System.out.println("Simple App failed due to error: \n" + e.toString());
          }
        }
      }

      Die Abfrage gibt die 10 am häufigsten aufgerufenen Stack Overflow-Seiten und deren Aufrufzahlen zurück.

    11. Klicken Sie mit der rechten Maustaste auf SimpleApp.java und dann auf SimpleApp.java. Wenn Sie zur Autorisierung von Cloud Shell aufgefordert werden und den Bedingungen zustimmen, klicken Sie auf Autorisieren.

      Das Ergebnis sieht etwa so aus:

      https://stackoverflow.com/questions/35159967 : 170023 views
      https://stackoverflow.com/questions/22879669 : 142581 views
      https://stackoverflow.com/questions/10604135 : 132406 views
      https://stackoverflow.com/questions/44564887 : 128781 views
      https://stackoverflow.com/questions/27060396 : 127008 views
      https://stackoverflow.com/questions/12482637 : 120766 views
      https://stackoverflow.com/questions/20673986 : 115720 views
      https://stackoverflow.com/questions/39109817 : 108368 views
      https://stackoverflow.com/questions/11057219 : 105175 views
      https://stackoverflow.com/questions/43195143 : 101878 views
      

    Sie haben mit der BigQuery-Java-Clientbibliothek erfolgreich ein öffentliches Dataset abgefragt.

    Node.js

    1. Erstellen Sie in Cloud Shell ein neues Node.js-Projekt und eine neue Datei:

      mkdir bigquery-node-quickstart \
          && touch \
          bigquery-node-quickstart/app.js

      Dieser Befehl erstellt ein Node.js-Projekt mit dem Namen bigquery-node-quickstart und eine Datei mit dem Namen app.js.

    2. Öffnen Sie den Cloud Shell-Editor.

      cloudshell workspace bigquery-node-quickstart
    3. Klicken Sie zum Öffnen eines Terminals im Cloud Shell-Editor auf Terminal öffnen.

    4. Öffnen Sie das Projektverzeichnis:

      cd bigquery-node-quickstart
    5. Installieren Sie die BigQuery Node.js-Clientbibliothek:

      npm install @google-cloud/bigquery

      Die Ausgabe sieht etwa so aus:

      added 63 packages in 2s
      
    6. Klicken Sie auf Editor öffnen.

    7. Suchen Sie im Bereich Explorer das Projekt BIGQUERY-NODE-QUICKSTART.

    8. Klicken Sie auf die Datei app.js, um sie zu öffnen.

    9. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, die die zehn am häufigsten aufgerufenen Stack Overflow-Seiten und deren Aufrufzahlen zurückgibt, kopieren Sie den folgenden Code in die Datei app.js:

      // Import the Google Cloud client library
      const {BigQuery} = require('@google-cloud/bigquery');
      
      async function queryStackOverflow() {
        // Queries a public Stack Overflow dataset.
      
        // Create a client
        const bigqueryClient = new BigQuery();
      
        // The SQL query to run
        const sqlQuery = `SELECT
          CONCAT(
            'https://stackoverflow.com/questions/',
            CAST(id as STRING)) as url,
          view_count
          FROM \`bigquery-public-data.stackoverflow.posts_questions\`
          WHERE tags like '%google-bigquery%'
          ORDER BY view_count DESC
          LIMIT 10`;
      
        const options = {
          query: sqlQuery,
          // Location must match that of the dataset(s) referenced in the query.
          location: 'US',
        };
      
        // Run the query
        const [rows] = await bigqueryClient.query(options);
      
        console.log('Query Results:');
        rows.forEach(row => {
          const url = row['url'];
          const viewCount = row['view_count'];
          console.log(`url: ${url}, ${viewCount} views`);
        });
      }
      queryStackOverflow();

    10. Klicken Sie auf Terminal öffnen.

    11. Führen Sie im Terminal das Skript app.js aus. Wenn Sie zur Autorisierung von Cloud Shell aufgefordert werden und den Bedingungen zustimmen, klicken Sie auf Autorisieren.

      node app.js

      Das Ergebnis sieht etwa so aus:

      Query Results:
      url: https://stackoverflow.com/questions/35159967, 170023 views
      url: https://stackoverflow.com/questions/22879669, 142581 views
      url: https://stackoverflow.com/questions/10604135, 132406 views
      url: https://stackoverflow.com/questions/44564887, 128781 views
      url: https://stackoverflow.com/questions/27060396, 127008 views
      url: https://stackoverflow.com/questions/12482637, 120766 views
      url: https://stackoverflow.com/questions/20673986, 115720 views
      url: https://stackoverflow.com/questions/39109817, 108368 views
      url: https://stackoverflow.com/questions/11057219, 105175 views
      url: https://stackoverflow.com/questions/43195143, 101878 views
      

    Sie haben mit der BigQuery Node.js-Clientbibliothek erfolgreich ein öffentliches Dataset abgefragt.

    PHP

    1. Erstellen Sie in Cloud Shell ein neues PHP-Projekt und eine neue Datei:

      mkdir bigquery-php-quickstart \
          && touch \
          bigquery-php-quickstart/app.php

      Durch diesen Befehl wird ein PHP-Projekt mit dem Namen bigquery-php-quickstart und eine Datei mit dem Namen app.php erstellt.

    2. Öffnen Sie den Cloud Shell-Editor.

      cloudshell workspace bigquery-php-quickstart
    3. Klicken Sie zum Öffnen eines Terminals im Cloud Shell-Editor auf Terminal öffnen.

    4. Öffnen Sie das Projektverzeichnis:

      cd bigquery-php-quickstart
    5. Installieren Sie die BigQuery-Clientbibliothek für PHP:

      composer require google/cloud-bigquery

      Die entsprechende Ausgabe sieht etwa so aus: Einige Zeilen werden ausgelassen, um die Ausgabe zu vereinfachen.

      Running composer update google/cloud-bigquery
      Loading composer repositories with package information
      Updating dependencies
      ...
      No security vulnerability advisories found
      Using version ^1.24 for google/cloud-bigquery
      
    6. Klicken Sie auf Editor öffnen.

    7. Suchen Sie im Bereich Explorer das Projekt BIGQUERY-PHP-QUICKSTART.

    8. Klicken Sie auf die Datei app.php, um sie zu öffnen.

    9. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, die die zehn am häufigsten aufgerufenen Stack Overflow-Seiten und deren Aufrufzahlen zurückgibt, kopieren Sie den folgenden Code in die Datei app.php:

      <?php
      # ...
      
      require __DIR__ . '/vendor/autoload.php';
      
      use Google\Cloud\BigQuery\BigQueryClient;
      
      
      $bigQuery = new BigQueryClient();
      $query = <<<ENDSQL
      SELECT
        CONCAT(
          'https://stackoverflow.com/questions/',
          CAST(id as STRING)) as url,
        view_count
      FROM `bigquery-public-data.stackoverflow.posts_questions`
      WHERE tags like '%google-bigquery%'
      ORDER BY view_count DESC
      LIMIT 10;
      ENDSQL;
      $queryJobConfig = $bigQuery->query($query);
      $queryResults = $bigQuery->runQuery($queryJobConfig);
      
      if ($queryResults->isComplete()) {
          $i = 0;
          $rows = $queryResults->rows();
          foreach ($rows as $row) {
              printf('--- Row %s ---' . PHP_EOL, ++$i);
              printf('url: %s, %s views' . PHP_EOL, $row['url'], $row['view_count']);
          }
          printf('Found %s row(s)' . PHP_EOL, $i);
      } else {
          throw new Exception('The query failed to complete');
      }

    10. Klicken Sie auf Terminal öffnen.

    11. Führen Sie im Terminal das Skript app.php aus. Wenn Sie zur Autorisierung von Cloud Shell aufgefordert werden und den Bedingungen zustimmen, klicken Sie auf Autorisieren.

      php app.php

      Das Ergebnis sieht etwa so aus:

      --- Row 1 ---
      url: https://stackoverflow.com/questions/35159967, 170023 views
      --- Row 2 ---
      url: https://stackoverflow.com/questions/22879669, 142581 views
      --- Row 3 ---
      url: https://stackoverflow.com/questions/10604135, 132406 views
      --- Row 4 ---
      url: https://stackoverflow.com/questions/44564887, 128781 views
      --- Row 5 ---
      url: https://stackoverflow.com/questions/27060396, 127008 views
      --- Row 6 ---
      url: https://stackoverflow.com/questions/12482637, 120766 views
      --- Row 7 ---
      url: https://stackoverflow.com/questions/20673986, 115720 views
      --- Row 8 ---
      url: https://stackoverflow.com/questions/39109817, 108368 views
      --- Row 9 ---
      url: https://stackoverflow.com/questions/11057219, 105175 views
      --- Row 10 ---
      url: https://stackoverflow.com/questions/43195143, 101878 views
      Found 10 row(s)
      

    Sie haben erfolgreich ein öffentliches Dataset mit der PHP-Clientbibliothek von BigQuery abgefragt.

    Python

    1. Erstellen Sie in Cloud Shell ein neues Python-Projekt und eine neue Datei:

      mkdir bigquery-python-quickstart \
          && touch \
          bigquery-python-quickstart/app.py

      Durch diesen Befehl wird ein Python-Projekt mit dem Namen bigquery-python-quickstart und eine Datei mit dem Namen app.py erstellt.

    2. Öffnen Sie den Cloud Shell-Editor.

      cloudshell workspace bigquery-python-quickstart
    3. Klicken Sie zum Öffnen eines Terminals im Cloud Shell-Editor auf Terminal öffnen.

    4. Öffnen Sie das Projektverzeichnis:

      cd bigquery-python-quickstart
    5. Installieren Sie die BigQuery-Clientbibliothek für Python:

      pip install --upgrade google-cloud-bigquery

      Die Ausgabe sieht etwa so aus: Einige Zeilen werden ausgelassen, um die Ausgabe zu vereinfachen.

      Installing collected packages: google-cloud-bigquery
      ...
      Successfully installed google-cloud-bigquery-3.9.0
      ...
      
    6. Klicken Sie auf Editor öffnen.

    7. Suchen Sie im Bereich Explorer das Projekt BIGQUERY-PYTHON-QUICKSTART.

    8. Klicken Sie auf die Datei app.py, um sie zu öffnen.

    9. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, die die zehn am häufigsten aufgerufenen Stack Overflow-Seiten und deren Aufrufzahlen zurückgibt, kopieren Sie den folgenden Code in die Datei app.py:

      from google.cloud import bigquery
      
      
      
      def query_stackoverflow() -> None:
          client = bigquery.Client()
          results = client.query_and_wait(
              """
              SELECT
                CONCAT(
                  'https://stackoverflow.com/questions/',
                  CAST(id as STRING)) as url,
                view_count
              FROM `bigquery-public-data.stackoverflow.posts_questions`
              WHERE tags like '%google-bigquery%'
              ORDER BY view_count DESC
              LIMIT 10"""
          )  # Waits for job to complete.
      
          for row in results:
              print("{} : {} views".format(row.url, row.view_count))
      
      
      if __name__ == "__main__":
          query_stackoverflow()

    10. Klicken Sie auf Terminal öffnen.

    11. Führen Sie im Terminal das Skript app.py aus. Wenn Sie zur Autorisierung von Cloud Shell aufgefordert werden und den Bedingungen zustimmen, klicken Sie auf Autorisieren.

      python app.py

      Das Ergebnis sieht etwa so aus:

      https://stackoverflow.com/questions/35159967 : 170023 views
      https://stackoverflow.com/questions/22879669 : 142581 views
      https://stackoverflow.com/questions/10604135 : 132406 views
      https://stackoverflow.com/questions/44564887 : 128781 views
      https://stackoverflow.com/questions/27060396 : 127008 views
      https://stackoverflow.com/questions/12482637 : 120766 views
      https://stackoverflow.com/questions/20673986 : 115720 views
      https://stackoverflow.com/questions/39109817 : 108368 views
      https://stackoverflow.com/questions/11057219 : 105175 views
      https://stackoverflow.com/questions/43195143 : 101878 views
      

    Sie haben erfolgreich ein öffentliches Dataset mit der Python-Clientbibliothek von BigQuery abgefragt.

    Ruby

    1. Erstellen Sie in Cloud Shell ein neues Ruby-Projekt und eine neue Datei:

      mkdir bigquery-ruby-quickstart \
          && touch \
          bigquery-ruby-quickstart/app.rb

      Durch diesen Befehl wird ein Ruby-Projekt mit dem Namen bigquery-ruby-quickstart und eine Datei mit dem Namen app.rb erstellt.

    2. Öffnen Sie den Cloud Shell-Editor.

      cloudshell workspace bigquery-ruby-quickstart
    3. Klicken Sie zum Öffnen eines Terminals im Cloud Shell-Editor auf Terminal öffnen.

    4. Öffnen Sie das Projektverzeichnis:

      cd bigquery-ruby-quickstart
    5. Installieren Sie die BigQuery-Clientbibliothek für Ruby:

      gem install google-cloud-bigquery

      Die Ausgabe sieht etwa so aus: Einige Zeilen werden ausgelassen, um die Ausgabe zu vereinfachen.

      23 gems installed
      
    6. Klicken Sie auf Editor öffnen.

    7. Suchen Sie im Bereich Explorer das Projekt BIGQUERY-RUBY-QUICKSTART.

    8. Klicken Sie auf die Datei app.rb, um sie zu öffnen.

    9. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, die die zehn am häufigsten aufgerufenen Stack Overflow-Seiten und deren Aufrufzahlen zurückgibt, kopieren Sie den folgenden Code in die Datei app.rb:

      require "google/cloud/bigquery"
      
      # This uses Application Default Credentials to authenticate.
      # @see https://cloud.google.com/bigquery/docs/authentication/getting-started
      bigquery = Google::Cloud::Bigquery.new
      
      sql     = "SELECT " \
                "CONCAT('https://stackoverflow.com/questions/', CAST(id as STRING)) as url, view_count " \
                "FROM `bigquery-public-data.stackoverflow.posts_questions` " \
                "WHERE tags like '%google-bigquery%' " \
                "ORDER BY view_count DESC LIMIT 10"
      results = bigquery.query sql
      
      results.each do |row|
        puts "#{row[:url]}: #{row[:view_count]} views"
      end

    10. Klicken Sie auf Terminal öffnen.

    11. Führen Sie im Terminal das Skript app.rb aus. Wenn Sie zur Autorisierung von Cloud Shell aufgefordert werden und den Bedingungen zustimmen, klicken Sie auf Autorisieren.

      ruby app.rb

      Das Ergebnis sieht etwa so aus:

      https://stackoverflow.com/questions/35159967: 170023 views
      https://stackoverflow.com/questions/22879669: 142581 views
      https://stackoverflow.com/questions/10604135: 132406 views
      https://stackoverflow.com/questions/44564887: 128781 views
      https://stackoverflow.com/questions/27060396: 127008 views
      https://stackoverflow.com/questions/12482637: 120766 views
      https://stackoverflow.com/questions/20673986: 115720 views
      https://stackoverflow.com/questions/39109817: 108368 views
      https://stackoverflow.com/questions/11057219: 105175 views
      https://stackoverflow.com/questions/43195143: 101878 views
      

    Sie haben erfolgreich ein öffentliches Dataset mit der Ruby-Clientbibliothek von BigQuery abgefragt.

    Bereinigen

    Damit Ihrem Trusted Cloud Konto keine Gebühren in Rechnung gestellt werden, sollten Sie entweder Ihr Trusted Cloud Projekt oder die in dieser Schritt-für-Schritt-Anleitung erstellten Ressourcen löschen.

    Projekt löschen

    Am einfachsten vermeiden Sie weitere Kosten durch Löschen des für die Anleitung erstellten Projekts.

    So löschen Sie das Projekt:

    1. In the Trusted Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Ressourcen löschen

    Wenn Sie ein vorhandenes Projekt verwendet haben, löschen Sie die erstellten Ressourcen:

    C#

    1. Wechseln Sie in Cloud Shell ein Verzeichnis nach oben:

      cd ..
    2. Löschen Sie den von Ihnen erstellten BigQueryCsharpDemo-Ordner:

      rm -R BigQueryCsharpDemo

      Mit dem Flag -R werden alle Assets in einem Ordner gelöscht.

    Go

    1. Wechseln Sie in Cloud Shell ein Verzeichnis nach oben:

      cd ..
    2. Löschen Sie den von Ihnen erstellten bigquery-go-quickstart-Ordner:

      rm -R bigquery-go-quickstart

      Mit dem Flag -R werden alle Assets in einem Ordner gelöscht.

    Java

    1. Wechseln Sie in Cloud Shell ein Verzeichnis nach oben:

      cd ..
    2. Löschen Sie den von Ihnen erstellten bigquery-java-quickstart-Ordner:

      rm -R bigquery-java-quickstart

      Mit dem Flag -R werden alle Assets in einem Ordner gelöscht.

    Node.js

    1. Wechseln Sie in Cloud Shell ein Verzeichnis nach oben:

      cd ..
    2. Löschen Sie den von Ihnen erstellten bigquery-node-quickstart-Ordner:

      rm -R bigquery-node-quickstart

      Mit dem Flag -R werden alle Assets in einem Ordner gelöscht.

    PHP

    1. Wechseln Sie in Cloud Shell ein Verzeichnis nach oben:

      cd ..
    2. Löschen Sie den von Ihnen erstellten bigquery-php-quickstart-Ordner:

      rm -R bigquery-php-quickstart

      Mit dem Flag -R werden alle Assets in einem Ordner gelöscht.

    Python

    1. Wechseln Sie in Cloud Shell ein Verzeichnis nach oben:

      cd ..
    2. Löschen Sie den von Ihnen erstellten bigquery-python-quickstart-Ordner:

      rm -R bigquery-python-quickstart

      Mit dem Flag -R werden alle Assets in einem Ordner gelöscht.

    Ruby

    1. Wechseln Sie in Cloud Shell ein Verzeichnis nach oben:

      cd ..
    2. Löschen Sie den von Ihnen erstellten bigquery-ruby-quickstart-Ordner:

      rm -R bigquery-ruby-quickstart

      Mit dem Flag -R werden alle Assets in einem Ordner gelöscht.

    Nächste Schritte