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

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

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. W Cloud Shell utwórz nowy projekt i plik PHP:

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

    To polecenie tworzy projekt PHP o nazwie bigquery-php-quickstart oraz plik o nazwie app.php.

  2. Otwórz edytor Cloud Shell:

    cloudshell workspace bigquery-php-quickstart
    

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 bigquery-php-quickstart
    
  3. Zainstaluj bibliotekę klienta BigQuery dla PHP:

    composer require google/cloud-bigquery
    

    Dane wyjściowe są podobne do podanych. Dla ich uproszczenia pominęliśmy kilka wierszy.

    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
    

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. Kliknij Otwórz edytor.

  2. W panelu eksploratora znajdź projekt BIGQUERY-PHP-QUICKSTART.

  3. Kliknij plik app.php, aby go otworzyć.

  4. 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ń, skopiuj do pliku app.php ten kod:

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

  5. Kliknij Otwórz terminal.

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

    php app.php
    

    Będą podobne do tych:

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

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

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 bigquery-php-quickstart:

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

    cd ..
    
  2. Usuń utworzone zasoby:

    rm -R bigquery-php-quickstart
    

    Flaga -R usuwa wszystkie zasoby w danym folderze.