Tworzenie zapytania do publicznego zbioru danych za pomocą biblioteki klienta BigQuery w C#

Tworzenie zapytania do publicznego zbioru danych za pomocą biblioteki klienta BigQuery w C#

Dowiedz się, jak:

  1. Aktywować Cloud Shell w projekcie Google Cloud
  2. Otworzyć edytor Cloud Shell
  3. Przygotować pliki na potrzeby zapytań
  4. Wysłać zapytanie do publicznego zbioru danych w BigQuery
  5. Wyczyścić dane.

Szacowany czas potrzebny na ukończenie samouczka:

Aby zacząć, kliknij Rozpocznij.

Aktywowanie Cloud Shell w projekcie Google Cloud

  1. Jeśli nie włączysz płatności w projekcie, będziesz automatycznie pracować w trybie piaskownicy BigQuery. Tryb piaskownicy BigQuery pozwala bezpłatnie poznawać BigQuery z ograniczonym zestawem funkcji. Jeśli nie zamierzasz korzystać z projektu poza tym dokumentem, zalecamy korzystanie z trybu piaskownicy BigQuery.

  2. Kliknij Aktywuj Cloud Shell. Pokaż mi

Aby dowiedzieć się, jak otworzyć edytor Cloud Shell, kliknij Dalej.

Otwieranie edytora Cloud Shell

  1. Utwórz w Cloud Shell nowy projekt i plik C#:

    dotnet new console -n BigQueryCsharpDemo
    

    Dane wyjściowe są podobne do tych poniżej. Dla ich uproszczenia pominęliśmy kilka wierszy.

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

    To polecenie tworzy projekt C# o nazwie BigQueryCsharpDemo oraz plik o nazwie Program.cs.

  2. Otwórz edytor Cloud Shell:

    cloudshell workspace BigQueryCsharpDemo
    

Aby dowiedzieć się, jak przygotować pliki na potrzeby zapytań, kliknij Dalej.

Przygotowywanie plików na potrzeby zapytań

  1. Aby otworzyć terminal w edytorze Cloud Shell, kliknij Otwórz terminal.

  2. Otwórz katalog projektu:

    cd BigQueryCsharpDemo
    
  3. Zainstaluj bibliotekę klienta BigQuery dla C#:

    dotnet add package Google.Cloud.BigQuery.V2
    

    Dane wyjściowe są podobne do tych poniżej. Dla ich uproszczenia pominęliśmy kilka wierszy.

    Determining projects to restore...
    Writing /tmp/tmpF7EKSd.tmp
    ...
    info : Writing assets file to disk.
    ...
    

Aby dowiedzieć się, jak wysłać zapytanie do publicznego zbioru danych w BigQuery, kliknij Dalej.

Wysyłanie zapytania do publicznego zbioru danych w BigQuery

  1. Wyeksportuj zmienną GOOGLE_PROJECT_ID ustawioną na wartość GOOGLE_CLOUD_PROJECT:

    export GOOGLE_PROJECT_ID=$GOOGLE_CLOUD_PROJECT
    
  2. Kliknij Otwórz edytor.

  3. W panelu eksploratora znajdź projekt BIGQUERYCSHARPDEMO.

  4. Kliknij plik Program.cs, aby go otworzyć.

  5. Aby utworzyć zapytanie do zbioru danych bigquery-public-data.stackoverflow, które zwraca 10 najczęściej wyświetlanych stron Stack Overflow oraz liczbę ich wyświetleń, zastąp zawartość pliku tym kodem:

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

  6. Kliknij Otwórz terminal.

  7. W terminalu uruchom skrypt Program.cs. Jeśli pojawi się prośba o autoryzację Cloud Shell i zaakceptowanie warunków, kliknij Autoryzuj.

    dotnet run
    

    Dane wyjściowe będą podobne do tych:

    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
    

Udało Ci się wykonać zapytanie na publicznym zbiorze danych za pomocą biblioteki klienta BigQuery w C#.

Aby uniknąć obciążenia konta opłatami i zapoznać się z kolejnymi krokami, kliknij Dalej.

Dalsze kroki

Zachowaj utworzone zasoby i wykonaj więcej czynności w BigQuery lub wyczyść dane, aby uniknąć opłat.

Do czego jeszcze można wykorzystać BigQuery

Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami, usuń projekt Google Cloud lub zasoby utworzone w tym przewodniku.

Usuwanie projektu

Jeśli do nauki obsługi BigQuery posłużył Ci nowy, specjalnie utworzony projekt, którego już nie potrzebujesz, możesz go usunąć. Pamiętaj, że usunięcie projektu spowoduje usunięcie całej jego zawartości i niestandardowych identyfikatorów projektu.

Usuwanie zasobów

Jeśli użyłeś(-aś) istniejącego projektu, usuń utworzony folder BigQueryCsharpDemo:

  1. W Cloud Shell przejdź do katalogu wyżej:

    cd ..
    
  2. Usuń utworzone zasoby:

    rm -R BigQueryCsharpDemo
    

    Flaga -R usuwa wszystkie zasoby w danym folderze.