Consulte um conjunto de dados público com as bibliotecas de cliente do BigQuery

Saiba como consultar um conjunto de dados público com as bibliotecas do cliente do BigQuery.


Para seguir orientações passo a passo para esta tarefa diretamente na Trusted Cloud consola, selecione a sua linguagem de programação preferida:


Antes de começar

  1. Create or select a Trusted Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
    • 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. Escolha se quer usar o sandbox do BigQuery sem custos financeiros ou ativar a faturação para o seu Trusted Cloud projeto.

    Se não ativar a faturação para um projeto, trabalha automaticamente no sandbox do BigQuery. O sandbox do BigQuery permite-lhe aprender a usar o BigQuery com um conjunto limitado de funcionalidades do BigQuery sem custo financeiro. Se não planeia usar o seu projeto para além deste documento, recomendamos que use o sandbox do BigQuery.

  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:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable bigquery

    Para novos projetos, a API BigQuery é ativada automaticamente.

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

    Activate Cloud Shell

  6. Ative o seu Trusted Cloud projeto no Cloud Shell:

    gcloud config set project PROJECT_ID
    

    Substitua PROJECT_ID pelo projeto que selecionou para este tutorial.

    O resultado é semelhante ao seguinte:

    Updated property [core/project].
    
  7. Consultar um conjunto de dados público

    Selecione um dos seguintes idiomas:

    C#

    1. No Cloud Shell, crie um novo projeto e ficheiro C#:

      dotnet new console -n BigQueryCsharpDemo

      O resultado é semelhante ao seguinte. Várias linhas são omitidas para simplificar o resultado.

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

      Este comando cria um projeto C# com o nome BigQueryCsharpDemo e um ficheiro com o nome Program.cs.

    2. Abra o editor do Cloud Shell:

      cloudshell workspace BigQueryCsharpDemo
    3. Para abrir um terminal no editor do Cloud Shell, clique em Abrir terminal.

    4. Abra o diretório do projeto:

      cd BigQueryCsharpDemo
    5. Instale a biblioteca cliente do BigQuery para C#:

      dotnet add package Google.Cloud.BigQuery.V2

      O resultado é semelhante ao seguinte. Várias linhas são omitidas para simplificar o resultado.

      Determining projects to restore...
      Writing /tmp/tmpF7EKSd.tmp
      ...
      info : Writing assets file to disk.
      ...
      
    6. Defina a variável GOOGLE_PROJECT_ID com o valor GOOGLE_CLOUD_PROJECT e exporte a variável:

      export GOOGLE_PROJECT_ID=$GOOGLE_CLOUD_PROJECT
    7. Clique em Abrir editor.

    8. No painel Explorador, localize o seu BIGQUERYCSHARPDEMOprojeto.

    9. Clique no ficheiro Program.cs para o abrir.

    10. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que devolve as 10 páginas do Stack Overflow mais vistas e as respetivas contagens de visualizações, substitua o conteúdo do ficheiro pelo seguinte código:

      
      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. Clique em Abrir terminal.

    12. No terminal, execute o script Program.cs. Se lhe for pedido que autorize o Cloud Shell e aceite os termos, clique em Autorizar.

      dotnet run

      O resultado é semelhante ao seguinte:

      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
      

    Consultou com êxito um conjunto de dados público com a biblioteca cliente C# do BigQuery.

    Go

    1. No Cloud Shell, crie um novo projeto e ficheiro Go:

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

      Este comando cria um projeto Go com o nome bigquery-go-quickstart e um ficheiro com o nome app.go.

    2. Abra o editor do Cloud Shell:

      cloudshell workspace bigquery-go-quickstart
    3. Para abrir um terminal no editor do Cloud Shell, clique em Abrir terminal.

    4. Abra o diretório do projeto:

      cd bigquery-go-quickstart
    5. Crie um ficheiro go.mod:

      go mod init quickstart

      O resultado é semelhante ao seguinte:

      go: creating new go.mod: module quickstart
      go: to add module requirements and sums:
              go mod tidy
      
    6. Instale a biblioteca cliente do BigQuery para Go:

      go get cloud.google.com/go/bigquery

      O resultado é semelhante ao seguinte. Várias linhas são omitidas para simplificar o resultado.

      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. Clique em Abrir editor.

    8. No painel Explorador, localize o seu BIGQUERY-GO-QUICKSTARTprojeto.

    9. Clique no ficheiro app.go para o abrir.

    10. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que devolve as 10 páginas do Stack Overflow mais vistas e as respetivas contagens de visualizações, copie o seguinte código para o ficheiro 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. Clique em Abrir terminal.

    12. No terminal, execute o script app.go. Se lhe for pedido que autorize o Cloud Shell e aceite os termos, clique em Autorizar.

      go run app.go

      O resultado é semelhante ao seguinte:

      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
      

    Consultou com êxito um conjunto de dados públicos com a biblioteca cliente do BigQuery Go.

    Java

    1. No Cloud Shell, crie um novo projeto Java com o Apache Maven:

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

      Este comando cria um projeto Maven com o nome bigquery-java-quickstart.

      O resultado é semelhante ao seguinte. Várias linhas são omitidas para simplificar o resultado.

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

      Existem muitos sistemas de gestão de dependências que pode usar além do Maven. Para mais informações, saiba como configurar um ambiente de desenvolvimento Java para usar com bibliotecas de cliente.

    2. Mude o nome do ficheiro App.java que o Maven cria por predefinição:

      mv \
          bigquery-java-quickstart/src/main/java/com/google/app/App.java \
          bigquery-java-quickstart/src/main/java/com/google/app/SimpleApp.java
    3. Abra o editor do Cloud Shell:

      cloudshell workspace bigquery-java-quickstart
    4. Se lhe for perguntado se quer sincronizar o caminho de classe ou a configuração do Java, clique em Sempre.

      Se não lhe for pedido e encontrar um erro relacionado com o classpath durante este procedimento, faça o seguinte:

      1. Clique em Ficheiro > Preferências > Abrir definições (IU).
      2. Clique em Extensões > Java.
      3. Desloque a página até Configuração: atualizar configuração de compilação e selecione automático.
    5. No painel Explorador, localize o seu BIGQUERY-JAVA-QUICKSTARTprojeto.

    6. Clique no ficheiro pom.xml para o abrir.

    7. Dentro da etiqueta <dependencies>, adicione a seguinte dependência depois das existentes. Não substitua nenhuma dependência existente.

      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-bigquery</artifactId>
      </dependency>
      
    8. Na linha seguinte à etiqueta de fecho (</dependencies>), adicione o seguinte:

      <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. No painel Explorador, no seu projeto BIGQUERY-JAVA-QUICKSTART, clique em src > main/java/com/google/app > SimpleApp.java. O ficheiro é aberto.

    10. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow, deixe a primeira linha do ficheiro (package com.google.app;) e substitua o conteúdo restante do ficheiro pelo seguinte código:

      
      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());
          }
        }
      }

      A consulta devolve as 10 páginas do Stack Overflow mais vistas e o respetivo número de visualizações.

    11. Clique com o botão direito do rato em SimpleApp.java e clique em Executar Java. Se lhe for pedido que autorize o Cloud Shell e aceite os termos, clique em Autorizar.

      O resultado é semelhante ao seguinte:

      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
      

    Consultou com êxito um conjunto de dados público com a biblioteca cliente Java do BigQuery.

    Node.js

    1. No Cloud Shell, crie um novo projeto e ficheiro Node.js:

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

      Este comando cria um projeto Node.js com o nome bigquery-node-quickstart e um ficheiro com o nome app.js.

    2. Abra o editor do Cloud Shell:

      cloudshell workspace bigquery-node-quickstart
    3. Para abrir um terminal no editor do Cloud Shell, clique em Abrir terminal.

    4. Abra o diretório do projeto:

      cd bigquery-node-quickstart
    5. Instale a biblioteca cliente do BigQuery para Node.js:

      npm install @google-cloud/bigquery

      O resultado é semelhante ao seguinte:

      added 63 packages in 2s
      
    6. Clique em Abrir editor.

    7. No painel Explorador, localize o seu BIGQUERY-NODE-QUICKSTARTprojeto.

    8. Clique no ficheiro app.js para o abrir.

    9. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que devolve as 10 páginas do Stack Overflow mais vistas e as respetivas contagens de visualizações, copie o seguinte código para o ficheiro 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. Clique em Abrir terminal.

    11. No terminal, execute o script app.js. Se lhe for pedido que autorize o Cloud Shell e aceite os termos, clique em Autorizar.

      node app.js

      O resultado é semelhante ao seguinte:

      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
      

    Consultou com êxito um conjunto de dados públicos com a biblioteca cliente do Node.js do BigQuery.

    PHP

    1. No Cloud Shell, crie um novo projeto e ficheiro PHP:

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

      Este comando cria um projeto PHP com o nome bigquery-php-quickstart e um ficheiro com o nome app.php.

    2. Abra o editor do Cloud Shell:

      cloudshell workspace bigquery-php-quickstart
    3. Para abrir um terminal no editor do Cloud Shell, clique em Abrir terminal.

    4. Abra o diretório do projeto:

      cd bigquery-php-quickstart
    5. Instale a biblioteca cliente do BigQuery para PHP:

      composer require google/cloud-bigquery

      O resultado é semelhante ao seguinte. Várias linhas são omitidas para simplificar o resultado.

      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. Clique em Abrir editor.

    7. No painel Explorador, localize o seu BIGQUERY-PHP-QUICKSTARTprojeto.

    8. Clique no ficheiro app.php para o abrir.

    9. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que devolve as 10 páginas do Stack Overflow mais vistas e as respetivas contagens de visualizações, copie o seguinte código para o ficheiro 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. Clique em Abrir terminal.

    11. No terminal, execute o script app.php. Se lhe for pedido que autorize o Cloud Shell e aceite os termos, clique em Autorizar.

      php app.php

      O resultado é semelhante ao seguinte:

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

    Consultou com êxito um conjunto de dados público com a biblioteca cliente PHP do BigQuery.

    Python

    1. No Cloud Shell, crie um novo projeto e ficheiro Python:

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

      Este comando cria um projeto Python com o nome bigquery-python-quickstart e um ficheiro com o nome app.py.

    2. Abra o editor do Cloud Shell:

      cloudshell workspace bigquery-python-quickstart
    3. Para abrir um terminal no editor do Cloud Shell, clique em Abrir terminal.

    4. Abra o diretório do projeto:

      cd bigquery-python-quickstart
    5. Instale a biblioteca cliente do BigQuery para Python:

      pip install --upgrade google-cloud-bigquery

      O resultado é semelhante ao seguinte. Várias linhas são omitidas para simplificar o resultado.

      Installing collected packages: google-cloud-bigquery
      ...
      Successfully installed google-cloud-bigquery-3.9.0
      ...
      
    6. Clique em Abrir editor.

    7. No painel Explorador, localize o seu BIGQUERY-PYTHON-QUICKSTARTprojeto.

    8. Clique no ficheiro app.py para o abrir.

    9. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que devolve as 10 páginas do Stack Overflow mais vistas e as respetivas contagens de visualizações, copie o seguinte código para o ficheiro 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. Clique em Abrir terminal.

    11. No terminal, execute o script app.py. Se lhe for pedido que autorize o Cloud Shell e aceite os termos, clique em Autorizar.

      python app.py

      O resultado é semelhante ao seguinte:

      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
      

    Consultou com êxito um conjunto de dados público com a biblioteca cliente Python do BigQuery.

    Ruby

    1. No Cloud Shell, crie um novo projeto e ficheiro Ruby:

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

      Este comando cria um projeto Ruby com o nome bigquery-ruby-quickstart e um ficheiro com o nome app.rb.

    2. Abra o editor do Cloud Shell:

      cloudshell workspace bigquery-ruby-quickstart
    3. Para abrir um terminal no editor do Cloud Shell, clique em Abrir terminal.

    4. Abra o diretório do projeto:

      cd bigquery-ruby-quickstart
    5. Instale a biblioteca cliente do BigQuery para Ruby:

      gem install google-cloud-bigquery

      O resultado é semelhante ao seguinte. Várias linhas são omitidas para simplificar o resultado.

      23 gems installed
      
    6. Clique em Abrir editor.

    7. No painel Explorador, localize o seu BIGQUERY-RUBY-QUICKSTARTprojeto.

    8. Clique no ficheiro app.rb para o abrir.

    9. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que devolve as 10 páginas do Stack Overflow mais vistas e as respetivas contagens de visualizações, copie o seguinte código para o ficheiro 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. Clique em Abrir terminal.

    11. No terminal, execute o script app.rb. Se lhe for pedido que autorize o Cloud Shell e aceite os termos, clique em Autorizar.

      ruby app.rb

      O resultado é semelhante ao seguinte:

      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
      

    Consultou com êxito um conjunto de dados público com a biblioteca cliente Ruby do BigQuery.

    Limpar

    Para evitar incorrer em custos na sua Trusted Cloud conta, elimine o Trusted Cloud projeto ou elimine os recursos que criou neste passo a passo.

    Elimine o projeto

    A forma mais fácil de eliminar a faturação é eliminar o projeto que criou para o tutorial.

    Para eliminar o projeto:

    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.

    Elimine os recursos

    Se usou um projeto existente, elimine os recursos que criou:

    C#

    1. No Cloud Shell, aceda a um diretório acima:

      cd ..
    2. Elimine a pasta BigQueryCsharpDemo que criou:

      rm -R BigQueryCsharpDemo

      A flag -R elimina todos os recursos numa pasta.

    Go

    1. No Cloud Shell, aceda a um diretório acima:

      cd ..
    2. Elimine a pasta bigquery-go-quickstart que criou:

      rm -R bigquery-go-quickstart

      A flag -R elimina todos os recursos numa pasta.

    Java

    1. No Cloud Shell, aceda a um diretório acima:

      cd ..
    2. Elimine a pasta bigquery-java-quickstart que criou:

      rm -R bigquery-java-quickstart

      A flag -R elimina todos os recursos numa pasta.

    Node.js

    1. No Cloud Shell, aceda a um diretório acima:

      cd ..
    2. Elimine a pasta bigquery-node-quickstart que criou:

      rm -R bigquery-node-quickstart

      A flag -R elimina todos os recursos numa pasta.

    PHP

    1. No Cloud Shell, aceda a um diretório acima:

      cd ..
    2. Elimine a pasta bigquery-php-quickstart que criou:

      rm -R bigquery-php-quickstart

      A flag -R elimina todos os recursos numa pasta.

    Python

    1. No Cloud Shell, aceda a um diretório acima:

      cd ..
    2. Elimine a pasta bigquery-python-quickstart que criou:

      rm -R bigquery-python-quickstart

      A flag -R elimina todos os recursos numa pasta.

    Ruby

    1. No Cloud Shell, aceda a um diretório acima:

      cd ..
    2. Elimine a pasta bigquery-ruby-quickstart que criou:

      rm -R bigquery-ruby-quickstart

      A flag -R elimina todos os recursos numa pasta.

    O que se segue?