Consultar 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 de cliente do BigQuery.


Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, selecione a linguagem de programação de sua preferência:

Faça o tour de C# Faça o tour de Go Faça o tour de Java Faça o tour de Node.js

Faça o tour do PHP Faça o tour do Python Faça o tour do Ruby


Antes de começar

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Escolha se você quer usar o sandbox do BigQuery sem custos financeiros ou ativar o faturamento do projeto do Google Cloud.

    Se você não ativar o faturamento de um projeto, vai trabalhar automaticamente no sandbox do BigQuery. O sandbox do BigQuery ensina você a usar o BigQuery com um conjunto limitado de recursos sem custos financeiros. Se você não planeja usar seu projeto além deste documento, recomendamos usar o sandbox do BigQuery.

  3. Enable the BigQuery API.

    Enable the API

    Para novos projetos, a API BigQuery é ativada automaticamente.

  4. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  5. Ative seu projeto do Google Cloud no Cloud Shell:

    gcloud config set project PROJECT_ID
    

    Substitua PROJECT_ID pelo projeto que você selecionou para este tutorial.

    O resultado será assim:

    Updated property [core/project].
    

consulte um conjunto de dados público

Selecione uma das seguintes linguagens:

C#

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

    dotnet new console -n BigQueryCsharpDemo

    A resposta será semelhante a esta: Várias linhas são omitidas para simplificar a saída.

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

    Esse comando cria um projeto do C# chamado BigQueryCsharpDemo e um arquivo chamado Program.cs.

  2. Abra o editor do Cloud Shell:

    cloudshell workspace BigQueryCsharpDemo
  3. Para abrir um terminal no Editor do Cloud Shell, clique em Terminal > Novo terminal.

  4. Instale a biblioteca de cliente do BigQuery para C#:

    dotnet add package Google.Cloud.BigQuery.V2

    A resposta será semelhante a esta: Várias linhas são omitidas para simplificar a saída.

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

    export GOOGLE_PROJECT_ID=$GOOGLE_CLOUD_PROJECT
  6. No painel Explorer, localize o projeto BIGQUERYCSHARPDEMO.

  7. Clique no arquivo Program.cs para abri-lo.

  8. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que retorna as 10 páginas mais visualizadas do Stack Overflow e as contagens de visualização delas, substitua o conteúdo do arquivo 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");
                }
            }
        }
    }
    

  9. No terminal, execute o script Program.cs. Se for solicitado que você autorize o Cloud Shell e concorde com os termos, clique em Autorizar.

    dotnet run

    O resultado será 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
    

Você consultou com sucesso um conjunto de dados público com a biblioteca de cliente C# do BigQuery.

Go

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

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

    Esse comando cria um projeto Go chamado bigquery-go-quickstart e um arquivo chamado 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 Terminal > Novo terminal.

  4. Crie um arquivo go.mod:

    go mod init quickstart

    O resultado será assim:

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

    go get cloud.google.com/go/bigquery

    A resposta será semelhante a esta: Várias linhas são omitidas para simplificar a saída.

    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. No painel Explorer, localize o projeto BIGQUERY-GO-QUICKSTART.

  7. Clique no arquivo app.go para abri-lo.

  8. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que retorna as 10 páginas mais visualizadas do Stack Overflow e as contagens de visualização delas, copie o seguinte código no arquivo 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. No terminal, execute o script app.go. Se for solicitado que você autorize o Cloud Shell e concorde com os termos, clique em Autorizar.

    go run app.go

    O resultado será 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
    

Você consultou com sucesso um conjunto de dados público com a biblioteca de cliente Go do BigQuery.

Java

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

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

    Esse comando cria um projeto Maven chamado bigquery-java-quickstart.

    A resposta será semelhante a esta: Várias linhas são omitidas para simplificar a saída.

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

    Há muitos sistemas de gerenciamento de dependências que podem ser usados além do Maven. Para mais informações, consulte como configurar um ambiente de desenvolvimento Java para usar com bibliotecas de cliente.

  2. Renomeie o arquivo App.java que o Maven cria por padrã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 você receber uma solicitação para sincronizar o caminho de classe ou a configuração do Java, clique em Sempre.

    Se você não receber uma solicitação e encontrar um erro relacionado ao caminho de classe durante este tutorial, faça o seguinte:

    1. Clique em Arquivo > Preferências > Abrir configurações (interface).
    2. Clique em Extensões > Java.
    3. Role até Configuração: atualizar a configuração do build e selecione automático.
  5. No painel Explorer, localize o projeto BIGQUERY-JAVA-QUICKSTART.

  6. Clique no arquivo pom.xml para abri-lo.

  7. Dentro da tag <dependencies>, adicione a seguinte dependência após qualquer outra atual. Não substitua as dependências atuais.

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-bigquery</artifactId>
    </dependency>
    
  8. Na linha após a tag de fechamento (</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 Explorer, no projeto BIGQUERY-JAVA-QUICKSTART, clique em src > main/java/com/google/app > SimpleApp.java. O arquivo será aberto.

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

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

    A consulta retorna as 10 páginas mais visualizadas do Stack Overflow e as contagens de visualização delas.

  11. Clique com o botão direito do mouse em SimpleApp.java e clique em Executar Java. Se aparecer uma solicitação para você autorizar o Cloud Shell e concordar com os termos, clique em Autorizar.

    O resultado será 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
    

Você consultou com sucesso um conjunto de dados público com a biblioteca de cliente Java do BigQuery.

Node.js

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

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

    Esse comando cria um projeto do Node.js chamado bigquery-node-quickstart e um arquivo chamado 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 Terminal > Novo terminal.

  4. Instale a biblioteca de cliente Node.js do BigQuery:

    npm install --save @google-cloud/bigquery

    O resultado será assim:

    added 63 packages in 2s
    
  5. No painel Explorer, localize o projeto BIGQUERY-NODE-QUICKSTART.

  6. Clique no arquivo app.js para abri-lo.

  7. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que retorna as 10 páginas mais visualizadas do Stack Overflow e as contagens de visualização delas, copie o seguinte código no arquivo 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. No terminal, execute o script app.js. Se for solicitado que você autorize o Cloud Shell e concorde com os termos, clique em Autorizar.

    node app.js

    O resultado será 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
    

Você consultou com sucesso um conjunto de dados público com a biblioteca de cliente Node.js do BigQuery.

PHP

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

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

    Esse comando cria um projeto PHP chamado bigquery-php-quickstart e um arquivo chamado 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 Terminal > Novo terminal.

  4. Instale a biblioteca de cliente do BigQuery para PHP:

    composer require google/cloud-bigquery

    A resposta será semelhante a esta: Várias linhas são omitidas para simplificar a saída.

    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. No painel Explorer, localize o projeto BIGQUERY-PHP-QUICKSTART.

  6. Clique no arquivo app.php para abri-lo.

  7. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que retorna as 10 páginas mais visualizadas do Stack Overflow e as contagens de visualização delas, copie o seguinte código no arquivo 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. No terminal, execute o script app.php. Se for solicitado que você autorize o Cloud Shell e concorde com os termos, clique em Autorizar.

    php app.php

    O resultado será 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)
    

Você consultou com sucesso um conjunto de dados público com a biblioteca de cliente PHP do BigQuery.

Python

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

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

    Esse comando cria um projeto em Python chamado bigquery-python-quickstart e um arquivo chamado 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 Terminal > Novo terminal.

  4. Instale a biblioteca de cliente em Python do BigQuery:

    pip install --upgrade google-cloud-bigquery

    A resposta será semelhante a esta: Várias linhas são omitidas para simplificar a saída.

    Installing collected packages: google-cloud-bigquery
    ...
    Successfully installed google-cloud-bigquery-3.9.0
    ...
    
  5. No painel Explorer, localize o projeto BIGQUERY-PYTHON-QUICKSTART.

  6. Clique no arquivo app.py para abri-lo.

  7. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que retorna as 10 páginas mais visualizadas do Stack Overflow e as contagens de visualização delas, copie o seguinte código no arquivo 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. No terminal, execute o script app.py. Se for solicitado que você autorize o Cloud Shell e concorde com os termos, clique em Autorizar.

    python app.py

    O resultado será 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
    

Você consultou com sucesso um conjunto de dados público com a biblioteca de cliente Python do BigQuery.

Ruby

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

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

    Esse comando cria um projeto Ruby chamado bigquery-ruby-quickstart e um arquivo chamado 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 Terminal > Novo terminal.

  4. Instale a biblioteca de cliente do BigQuery para Ruby:

    gem install google-cloud-bigquery

    A resposta será semelhante a esta. Várias linhas são omitidas para simplificar a saída.

    23 gems installed
    
  5. No painel Explorer, localize o projeto BIGQUERY-RUBY-QUICKSTART.

  6. Clique no arquivo app.rb para abri-lo.

  7. Para criar uma consulta no conjunto de dados bigquery-public-data.stackoverflow que retorna as 10 páginas mais visualizadas do Stack Overflow e as contagens de visualização delas, copie o seguinte código no arquivo 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. No terminal, execute o script app.rb. Se for solicitado que você autorize o Cloud Shell e concorde com os termos, clique em Autorizar.

    ruby app.rb

    O resultado será 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
    

Você consultou com sucesso um conjunto de dados público com a biblioteca de cliente Ruby do BigQuery.

Limpar

Para evitar cobranças na sua conta do Google Cloud, exclua o projeto do Google Cloud ou os recursos criados neste tutorial.

Excluir o projeto

O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.

Para excluir o projeto, faça o seguinte:

  1. In the Google 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.

Excluir os recursos

Se você usou um projeto atual, exclua os recursos criados:

C#

  1. No Cloud Shell, mova um diretório para cima:

    cd ..
  2. Exclua a pasta BigQueryCsharpDemo que você criou:

    rm -R BigQueryCsharpDemo

    A sinalização -R exclui todos os recursos em uma pasta.

Go

  1. No Cloud Shell, mova um diretório para cima:

    cd ..
  2. Exclua a pasta bigquery-go-quickstart que você criou:

    rm -R bigquery-go-quickstart

    A sinalização -R exclui todos os recursos em uma pasta.

Java

  1. No Cloud Shell, mova um diretório para cima:

    cd ..
  2. Exclua a pasta bigquery-java-quickstart que você criou:

    rm -R bigquery-java-quickstart

    A sinalização -R exclui todos os recursos em uma pasta.

Node.js

  1. No Cloud Shell, mova um diretório para cima:

    cd ..
  2. Exclua a pasta bigquery-node-quickstart que você criou:

    rm -R bigquery-node-quickstart

    A sinalização -R exclui todos os recursos em uma pasta.

PHP

  1. No Cloud Shell, mova um diretório para cima:

    cd ..
  2. Exclua a pasta bigquery-php-quickstart que você criou:

    rm -R bigquery-php-quickstart

    A sinalização -R exclui todos os recursos em uma pasta.

Python

  1. No Cloud Shell, mova um diretório para cima:

    cd ..
  2. Exclua a pasta bigquery-python-quickstart que você criou:

    rm -R bigquery-python-quickstart

    A sinalização -R exclui todos os recursos em uma pasta.

Ruby

  1. No Cloud Shell, mova um diretório para cima:

    cd ..
  2. Exclua a pasta bigquery-ruby-quickstart que você criou:

    rm -R bigquery-ruby-quickstart

    A sinalização -R exclui todos os recursos em uma pasta.

A seguir