Membuat kueri set data publik dengan library klien BigQuery

Pelajari cara membuat kueri set data publik dengan library klien BigQuery.


Untuk mengikuti panduan langkah demi langkah untuk tugas ini secara langsung di Trusted Cloud konsol, pilih bahasa pemrograman pilihan Anda:


Sebelum memulai

  1. Create or select a Trusted Cloud project.

    • Create a Trusted Cloud project:

      gcloud projects create PROJECT_ID

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

    • Select the Trusted Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Trusted Cloud project name.

  2. Pilih apakah akan menggunakan sandbox BigQuery tanpa biaya, atau mengaktifkan penagihan untuk project Trusted Cloud Anda.

    Jika penagihan untuk suatu project tidak diaktifkan, Anda akan secara otomatis menggunakan sandbox BigQuery. Sandbox BigQuery memungkinkan Anda mempelajari BigQuery dengan sekumpulan fitur terbatas BigQuery tanpa biaya. Jika Anda tidak berencana untuk menggunakan project di luar dokumen ini, sebaiknya gunakan sandbox 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:

    gcloud services enable bigquery

    Untuk project baru, BigQuery API diaktifkan secara otomatis.

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

    Activate Cloud Shell

  6. Aktifkan project Trusted Cloud Anda di Cloud Shell:

    gcloud config set project PROJECT_ID
    

    Ganti PROJECT_ID dengan project yang Anda pilih untuk panduan ini.

    Outputnya mirip dengan yang berikut ini:

    Updated property [core/project].
    
  7. Membuat kueri set data publik

    Pilih salah satu bahasa berikut:

    C#

    1. Di Cloud Shell, buat project dan file C# yang baru:

      dotnet new console -n BigQueryCsharpDemo

      Outputnya mirip dengan yang berikut ini. Beberapa baris dihilangkan untuk menyederhanakan output.

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

      Perintah ini membuat project C# bernama BigQueryCsharpDemo dan file bernama Program.cs.

    2. Buka Cloud Shell Editor:

      cloudshell workspace BigQueryCsharpDemo
    3. Untuk membuka terminal di Cloud Shell Editor, klik Open Terminal.

    4. Buka direktori project Anda:

      cd BigQueryCsharpDemo
    5. Instal library klien BigQuery untuk C#:

      dotnet add package Google.Cloud.BigQuery.V2

      Outputnya mirip dengan yang berikut ini. Beberapa baris dihilangkan untuk menyederhanakan output.

      Determining projects to restore...
      Writing /tmp/tmpF7EKSd.tmp
      ...
      info : Writing assets file to disk.
      ...
      
    6. Setel variabel GOOGLE_PROJECT_ID ke nilai GOOGLE_CLOUD_PROJECT, lalu ekspor variabel tersebut:

      export GOOGLE_PROJECT_ID=$GOOGLE_CLOUD_PROJECT
    7. Klik Buka Editor.

    8. Di panel Penjelajah, cari lokasi project BIGQUERYCSHARPDEMO Anda.

    9. Klik file Program.cs untuk membukanya.

    10. Untuk membuat kueri terhadap set data bigquery-public-data.stackoverflow yang menampilkan 10 halaman Stack Overflow yang paling sering dilihat dan jumlah tampilannya, ganti konten file dengan kode berikut:

      
      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. Klik Open Terminal.

    12. Di terminal, jalankan skrip Program.cs. Jika Anda diminta untuk memberi otorisasi kepada Cloud Shell dan menyetujui persyaratannya, klik Otorisasi.

      dotnet run

      Hasilnya mirip dengan yang berikut ini:

      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
      

    Anda telah berhasil membuat kueri set data publik dengan library klien C# BigQuery.

    Go

    1. Di Cloud Shell, buat project dan file Go yang baru:

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

      Perintah ini membuat project Go bernama bigquery-go-quickstart dan file bernama app.go.

    2. Buka Cloud Shell Editor:

      cloudshell workspace bigquery-go-quickstart
    3. Untuk membuka terminal di Cloud Shell Editor, klik Open Terminal.

    4. Buka direktori project Anda:

      cd bigquery-go-quickstart
    5. Buat file go.mod:

      go mod init quickstart

      Outputnya mirip dengan yang berikut ini:

      go: creating new go.mod: module quickstart
      go: to add module requirements and sums:
              go mod tidy
      
    6. Instal library klien BigQuery untuk Go:

      go get cloud.google.com/go/bigquery

      Outputnya mirip dengan yang berikut ini. Beberapa baris dihilangkan untuk menyederhanakan output.

      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. Klik Buka Editor.

    8. Di panel Penjelajah, cari lokasi project BIGQUERY-GO-QUICKSTART Anda.

    9. Klik file app.go untuk membukanya.

    10. Untuk membuat kueri terhadap set data bigquery-public-data.stackoverflow yang menampilkan 10 halaman Stack Overflow yang paling sering dilihat dan jumlah tampilannya, salin kode berikut ke file 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. Klik Open Terminal.

    12. Di terminal, jalankan skrip app.go. Jika Anda diminta untuk memberi otorisasi kepada Cloud Shell dan menyetujui persyaratannya, klik Otorisasi.

      go run app.go

      Hasilnya mirip dengan yang berikut ini:

      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
      

    Anda telah berhasil membuat kueri set data publik dengan library klien Go BigQuery.

    Java

    1. Di Cloud Shell, buat project baru Java menggunakan Apache Maven:

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

      Perintah ini membuat project Maven bernama bigquery-java-quickstart.

      Outputnya mirip dengan yang berikut ini. Beberapa baris dihilangkan untuk menyederhanakan output.

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

      Ada banyak sistem pengelolaan dependensi yang dapat Anda gunakan selain Maven. Untuk mengetahui informasi selengkapnya, pelajari cara menyiapkan lingkungan pengembangan Java untuk digunakan dengan library klien.

    2. Ganti nama file App.java yang dibuat Maven secara default:

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

      cloudshell workspace bigquery-java-quickstart
    4. Jika Anda diminta untuk menyinkronkan classpath atau konfigurasi Java, klik Selalu.

      Jika Anda tidak diminta dan mengalami error yang berhubungan dengan classpath selama panduan ini, lakukan tindakan berikut:

      1. Klik File > Preferensi > Buka Setelan (UI).
      2. Klik Ekstensi > Java.
      3. Scroll ke Konfigurasi: Update Konfigurasi Build, lalu pilih otomatis.
    5. Di panel Penjelajah, cari lokasi project BIGQUERY-JAVA-QUICKSTART Anda.

    6. Klik file pom.xml untuk membukanya.

    7. Di dalam tag <dependencies>, tambahkan dependensi berikut setelah dependensi yang ada. Jangan ganti dependensi yang ada.

      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-bigquery</artifactId>
      </dependency>
      
    8. Pada baris setelah tag penutup (</dependencies>), tambahkan kode berikut:

      <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. Di panel Penjelajah, di proyek BIGQUERY-JAVA-QUICKSTART Anda, klik src > main/java/com/google/app > SimpleApp.java. File akan terbuka.

    10. Untuk membuat kueri terhadap set data bigquery-public-data.stackoverflow, biarkan baris pertama file (package com.google.app;), dan ganti isi file lainnya dengan kode berikut:

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

      Kueri akan menampilkan 10 halaman Stack Overflow yang paling sering dilihat dan jumlah tampilannya.

    11. Klik kanan SimpleApp.java, lalu klik Jalankan Java. Jika Anda diminta untuk memberi otorisasi kepada Cloud Shell dan menyetujui persyaratannya, klik Otorisasi.

      Hasilnya mirip dengan yang berikut ini:

      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
      

    Anda telah berhasil membuat kueri set data publik dengan library klien Java BigQuery.

    Node.js

    1. Di Cloud Shell, buat project dan file Node.js yang baru:

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

      Perintah ini membuat project Node.js bernama bigquery-node-quickstart dan file bernama app.js.

    2. Buka Cloud Shell Editor:

      cloudshell workspace bigquery-node-quickstart
    3. Untuk membuka terminal di Cloud Shell Editor, klik Open Terminal.

    4. Buka direktori project Anda:

      cd bigquery-node-quickstart
    5. Instal library klien BigQuery untuk Node.js:

      npm install @google-cloud/bigquery

      Outputnya mirip dengan hal berikut ini:

      added 63 packages in 2s
      
    6. Klik Buka Editor.

    7. Di panel Penjelajah, cari lokasi project BIGQUERY-NODE-QUICKSTART Anda.

    8. Klik file app.js untuk membukanya.

    9. Untuk membuat kueri terhadap set data bigquery-public-data.stackoverflow yang menampilkan 10 halaman Stack Overflow yang paling sering dilihat dan jumlah tampilannya, salin kode berikut ke file 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. Klik Open Terminal.

    11. Di terminal, jalankan skrip app.js. Jika Anda diminta untuk memberi otorisasi kepada Cloud Shell dan menyetujui persyaratannya, klik Otorisasi.

      node app.js

      Hasilnya mirip dengan yang berikut ini:

      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
      

    Anda telah berhasil membuat kueri set data publik dengan library klien Node.js BigQuery.

    PHP

    1. Di Cloud Shell, buat project dan file PHP yang baru:

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

      Perintah ini membuat project PHP bernama bigquery-php-quickstart dan file bernama app.php.

    2. Buka Cloud Shell Editor:

      cloudshell workspace bigquery-php-quickstart
    3. Untuk membuka terminal di Cloud Shell Editor, klik Open Terminal.

    4. Buka direktori project Anda:

      cd bigquery-php-quickstart
    5. Instal library klien BigQuery untuk PHP:

      composer require google/cloud-bigquery

      Outputnya mirip dengan yang berikut ini. Beberapa baris dihilangkan untuk menyederhanakan output.

      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. Klik Buka Editor.

    7. Di panel Penjelajah, cari lokasi project BIGQUERY-PHP-QUICKSTART Anda.

    8. Klik file app.php untuk membukanya.

    9. Untuk membuat kueri terhadap set data bigquery-public-data.stackoverflow yang menampilkan 10 halaman Stack Overflow yang paling sering dilihat dan jumlah tampilannya, salin kode berikut ke file 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. Klik Open Terminal.

    11. Di terminal, jalankan skrip app.php. Jika Anda diminta untuk memberi otorisasi kepada Cloud Shell dan menyetujui persyaratannya, klik Otorisasi.

      php app.php

      Hasilnya mirip dengan yang berikut ini:

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

    Anda telah berhasil membuat kueri set data publik dengan library klien PHP BigQuery.

    Python

    1. Di Cloud Shell, buat project dan file Python yang baru:

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

      Perintah ini membuat project Python bernama bigquery-python-quickstart dan file bernama app.py.

    2. Buka Cloud Shell Editor:

      cloudshell workspace bigquery-python-quickstart
    3. Untuk membuka terminal di Cloud Shell Editor, klik Open Terminal.

    4. Buka direktori project Anda:

      cd bigquery-python-quickstart
    5. Instal library klien BigQuery untuk Python:

      pip install --upgrade google-cloud-bigquery

      Outputnya mirip dengan yang berikut ini. Beberapa baris dihilangkan untuk menyederhanakan output.

      Installing collected packages: google-cloud-bigquery
      ...
      Successfully installed google-cloud-bigquery-3.9.0
      ...
      
    6. Klik Buka Editor.

    7. Di panel Penjelajah, cari lokasi project BIGQUERY-PYTHON-QUICKSTART Anda.

    8. Klik file app.py untuk membukanya.

    9. Untuk membuat kueri terhadap set data bigquery-public-data.stackoverflow yang menampilkan 10 halaman Stack Overflow yang paling sering dilihat dan jumlah tampilannya, salin kode berikut ke file 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. Klik Open Terminal.

    11. Di terminal, jalankan skrip app.py. Jika Anda diminta untuk memberi otorisasi kepada Cloud Shell dan menyetujui persyaratannya, klik Otorisasi.

      python app.py

      Hasilnya mirip dengan yang berikut ini:

      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
      

    Anda telah berhasil membuat kueri set data publik dengan library klien Python BigQuery.

    Ruby

    1. Di Cloud Shell, buat project dan file Ruby yang baru:

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

      Perintah ini akan membuat project Ruby bernama bigquery-ruby-quickstart dan file bernama app.rb.

    2. Buka Cloud Shell Editor:

      cloudshell workspace bigquery-ruby-quickstart
    3. Untuk membuka terminal di Cloud Shell Editor, klik Open Terminal.

    4. Buka direktori project Anda:

      cd bigquery-ruby-quickstart
    5. Instal library klien BigQuery untuk Ruby:

      gem install google-cloud-bigquery

      Outputnya mirip dengan yang berikut ini. Beberapa baris dihilangkan untuk menyederhanakan output.

      23 gems installed
      
    6. Klik Buka Editor.

    7. Di panel Penjelajah, cari lokasi project BIGQUERY-RUBY-QUICKSTART Anda.

    8. Klik file app.rb untuk membukanya.

    9. Untuk membuat kueri terhadap set data bigquery-public-data.stackoverflow yang menampilkan 10 halaman Stack Overflow yang paling sering dilihat dan jumlah tampilannya, salin kode berikut ke file 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. Klik Open Terminal.

    11. Di terminal, jalankan skrip app.rb. Jika Anda diminta untuk memberi otorisasi kepada Cloud Shell dan menyetujui persyaratannya, klik Otorisasi.

      ruby app.rb

      Hasilnya mirip dengan yang berikut ini:

      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
      

    Anda telah berhasil membuat kueri set data publik dengan library klien Ruby BigQuery.

    Pembersihan

    Agar tidak menimbulkan biaya pada akun Trusted Cloud Anda, hapus project Trusted Cloud Anda, atau hapus resource yang Anda buat di panduan ini.

    Menghapus project

    Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.

    Untuk menghapus project:

    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.

    Menghapus resource

    Jika Anda menggunakan project yang ada, hapus resource yang dibuat:

    C#

    1. Di Cloud Shell, pindahkan direktori:

      cd ..
    2. Hapus folder BigQueryCsharpDemo yang Anda buat:

      rm -R BigQueryCsharpDemo

      Flag -R menghapus semua aset di dalam folder.

    Go

    1. Di Cloud Shell, pindahkan direktori:

      cd ..
    2. Hapus folder bigquery-go-quickstart yang Anda buat:

      rm -R bigquery-go-quickstart

      Flag -R menghapus semua aset di dalam folder.

    Java

    1. Di Cloud Shell, pindahkan direktori:

      cd ..
    2. Hapus folder bigquery-java-quickstart yang Anda buat:

      rm -R bigquery-java-quickstart

      Flag -R menghapus semua aset di dalam folder.

    Node.js

    1. Di Cloud Shell, pindahkan direktori:

      cd ..
    2. Hapus folder bigquery-node-quickstart yang Anda buat:

      rm -R bigquery-node-quickstart

      Flag -R menghapus semua aset di dalam folder.

    PHP

    1. Di Cloud Shell, pindahkan direktori:

      cd ..
    2. Hapus folder bigquery-php-quickstart yang Anda buat:

      rm -R bigquery-php-quickstart

      Flag -R menghapus semua aset di dalam folder.

    Python

    1. Di Cloud Shell, pindahkan direktori:

      cd ..
    2. Hapus folder bigquery-python-quickstart yang Anda buat:

      rm -R bigquery-python-quickstart

      Flag -R menghapus semua aset di dalam folder.

    Ruby

    1. Di Cloud Shell, pindahkan direktori:

      cd ..
    2. Hapus folder bigquery-ruby-quickstart yang Anda buat:

      rm -R bigquery-ruby-quickstart

      Flag -R menghapus semua aset di dalam folder.

    Langkah berikutnya