Öffentliches Dataset mit den BigQuery-Clientbibliotheken abfragen

Weitere Informationen zum Abfragen eines öffentlichen Datasets mit den BigQuery-Clientbibliotheken.


Um eine detaillierte Anleitung für diese Aufgabe zu erhalten, wählen Sie in der Google Cloud Console Ihre bevorzugte Programmiersprache aus:

C#-Tour starten Go-Tour starten Java-Tour starten Node.js-Tour starten

PHP-Tour starten Python-Tour starten Ruby-Tour starten


Hinweis

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  2. Wählen Sie aus, ob Sie die BigQuery-Sandbox kostenlos verwenden oder die Abrechnung für Ihr Google 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 BigQuery-Features kostenlos nutzen. Wenn Sie Ihr Projekt nicht in diesem Dokument verwenden möchten, empfehlen wir die Verwendung der BigQuery-Sandbox.

  3. BigQuery API aktivieren.

    Aktivieren Sie die API

    Bei neuen Projekten ist die BigQuery API automatisch aktiviert.

  4. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

  5. Aktivieren Sie Ihr Google 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].
    

Öffentliches Dataset abfragen

Wählen Sie eine der folgenden Sprachen aus:

C#

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

    dotnet new console -n BigQueryCsharpDemo
    

    Die entsprechende Ausgabe sieht etwa so aus: Mehrere 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.
    ...
    

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

  2. Öffnen Sie den Cloud Shell-Editor.

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

  4. Installieren Sie die BigQuery-Clientbibliothek für C#:

    dotnet add package Google.Cloud.BigQuery.V2
    

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

    Determining projects to restore...
    Writing /tmp/tmpF7EKSd.tmp
    ...
    info : Writing assets file to disk.
    ...
    
  5. Legen Sie die Variable GOOGLE_PROJECT_ID auf den Wert GOOGLE_CLOUD_PROJECT fest und exportieren Sie die Variable:

    export GOOGLE_PROJECT_ID=$GOOGLE_CLOUD_PROJECT
    
  6. Suchen Sie im Bereich Explorer das Projekt BIGQUERYCSHARPDEMO.

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

  8. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, das 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");
                }
            }
        }
    }
    

  9. Führen Sie im Terminal das Skript Program.cs aus. Wenn Sie aufgefordert werden, Cloud Shell zu autorisieren und den Bedingungen zuzustimmen, 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 BigQuery-C#-Clientbibliothek abgefragt.

Einfach loslegen (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
    

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

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

  4. go.mod-Datei erstellen:

    go mod init quickstart
    

    Die Ausgabe sieht in etwa so aus:

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

    go get cloud.google.com/go/bigquery
    

    Die entsprechende Ausgabe sieht etwa so aus: Mehrere Zeilen werden weggelassen, 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
    
  6. Suchen Sie im Bereich Explorer Ihr BIGQUERY-GO-QUICKSTART-Projekt.

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

  8. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, das 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)
    	}
    }
    

  9. Führen Sie im Terminal das Skript app.go aus. Wenn Sie aufgefordert werden, Cloud Shell zu autorisieren und den Bedingungen zuzustimmen, 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 ein öffentliches Dataset mit der BigQuery-Go-Clientbibliothek abgefragt.

Java

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

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

    Es gibt viele Abhängigkeitsmanagementsysteme, die Sie außer Maven verwenden können. Weitere Informationen finden Sie unter Java-Entwicklungsumgebung einrichten, um es mit Clientbibliotheken zu verwenden.

  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 gefragt werden, ob der Java-Klassenpfad oder die Konfiguration synchronisiert werden soll, klicken Sie auf Immer.

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

    1. Klicken Sie auf Datei > Einstellungen > Einstellungen öffnen (Benutzeroberfläche).
    2. Klicken Sie auf Erweiterungen > Java.
    3. Scrollen Sie zu Konfiguration: Build-Konfiguration aktualisieren und wählen Sie automatisch aus.
  5. Suchen Sie im Bereich Explorer Ihr BIGQUERY-JAVA-QUICKSTART-Projekt.

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

  7. Fügen Sie im Tag <dependencies> die folgende Abhängigkeit nach allen 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 ein:

    <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 src> main/java/com/google/app> SimpleApp.java an. 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 Inhalt der Datei durch den folgenden Code:

    
    import com.google.cloud.bigquery.BigQuery;
    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;
    import java.util.UUID;
    
    public class SimpleApp {
      public static void main(String... args) throws Exception {
        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();
    
        // Create a job ID so that we can safely retry.
        JobId jobId = JobId.of(UUID.randomUUID().toString());
        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().getError() != null) {
          // You can also look at queryJob.getStatus().getExecutionErrors() for all
          // errors, not just the latest one.
          throw new RuntimeException(queryJob.getStatus().getError().toString());
        }
    
        // 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);
        }
      }
    }

    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 klicken Sie auf Java ausführen. 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 erfolgreich ein öffentliches Dataset mit der BigQuery-Java-Clientbibliothek 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 > Neues Terminal.

  4. Installieren Sie die BigQuery Node.js-Clientbibliothek:

    npm install --save @google-cloud/bigquery
    

    Die Ausgabe sieht in etwa so aus:

    added 63 packages in 2s
    
  5. Suchen Sie im Bereich Explorer Ihr BIGQUERY-NODE-QUICKSTART-Projekt.

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

  7. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, das 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();

  8. Führen Sie im Terminal das Skript app.js aus. Wenn Sie aufgefordert werden, Cloud Shell zu autorisieren und den Bedingungen zuzustimmen, 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 erfolgreich ein öffentliches Dataset mit der BigQuery-Node.js-Clientbibliothek 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
    

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

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

  4. Installieren Sie die BigQuery-Clientbibliothek für PHP:

    composer require google/cloud-bigquery
    

    Die entsprechende Ausgabe sieht etwa so aus: Mehrere Zeilen werden weggelassen, 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
    
  5. Suchen Sie im Bereich Explorer Ihr BIGQUERY-PHP-QUICKSTART-Projekt.

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

  7. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, das 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');
    }

  8. Führen Sie im Terminal das Skript app.php aus. Wenn Sie aufgefordert werden, Cloud Shell zu autorisieren und den Bedingungen zuzustimmen, 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 mit der BigQuery-PHP-Clientbibliothek ein öffentliches Dataset abgefragt.

Python

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

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

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

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

  4. Installieren Sie die BigQuery-Clientbibliothek für Python:

    pip install --upgrade google-cloud-bigquery
    

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

    Installing collected packages: google-cloud-bigquery
    ...
    Successfully installed google-cloud-bigquery-3.9.0
    ...
    
  5. Suchen Sie im Bereich Explorer Ihr BIGQUERY-PYTHON-QUICKSTART-Projekt.

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

  7. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, das 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():
        client = bigquery.Client()
        query_job = 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"""
        )
    
        results = query_job.result()  # Waits for job to complete.
    
        for row in results:
            print("{} : {} views".format(row.url, row.view_count))
    
    if __name__ == "__main__":
        query_stackoverflow()

  8. Führen Sie im Terminal das Skript app.py aus. Wenn Sie aufgefordert werden, Cloud Shell zu autorisieren und den Bedingungen zuzustimmen, 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 mit der BigQuery-Python-Clientbibliothek ein öffentliches Dataset 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
    

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

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

  4. Installieren Sie die BigQuery-Clientbibliothek für Ruby:

    gem install google-cloud-bigquery
    

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

    23 gems installed
    
  5. Suchen Sie im Bereich Explorer Ihr BIGQUERY-RUBY-QUICKSTART-Projekt.

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

  7. Wenn Sie eine Abfrage für das Dataset bigquery-public-data.stackoverflow erstellen möchten, das 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

  8. Führen Sie im Terminal das Skript app.rb aus. Wenn Sie aufgefordert werden, Cloud Shell zu autorisieren und den Bedingungen zuzustimmen, 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 BigQuery-Ruby-Clientbibliothek abgefragt.

Bereinigen

Damit Ihrem Google Cloud-Konto keine Gebühren in Rechnung gestellt werden, können Sie entweder Ihr Google 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. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Ressourcen löschen

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

C#

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

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

    rm -R BigQueryCsharpDemo
    

    Das Flag -R löscht alle Assets in einem Ordner.

Einfach loslegen (Go)

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

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

    rm -R bigquery-go-quickstart
    

    Das Flag -R löscht alle Assets in einem Ordner.

Java

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

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

    rm -R bigquery-java-quickstart
    

    Das Flag -R löscht alle Assets in einem Ordner.

Node.js

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

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

    rm -R bigquery-node-quickstart
    

    Das Flag -R löscht alle Assets in einem Ordner.

PHP

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

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

    rm -R bigquery-php-quickstart
    

    Das Flag -R löscht alle Assets in einem Ordner.

Python

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

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

    rm -R bigquery-python-quickstart
    

    Das Flag -R löscht alle Assets in einem Ordner.

Ruby

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

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

    rm -R bigquery-ruby-quickstart
    

    Das Flag -R löscht alle Assets in einem Ordner.

Nächste Schritte